Търсачката не иска да търси на Български

bucata

Registered
Когато търсчя нещо на български ми изкарва , че не е открито нищо ,а има клип с това име.
Ето демото където тествам:
http://www.stzcarfans.com/music/
Пример: Гергана

search.php

Код:
<?php
session_start();

require('config.php');
require_once('include/functions.php');
require_once('include/user_functions.php');
require_once('include/islogged.php');

$cmd = (isset($_POST['cmd']) ? $_POST['cmd'] : '');
$cmd = secure_sql($cmd);
$mode = secure_sql(htmlentities($_POST['mode']));

switch($cmd)
{
  default:
  break;

  case "search":
     $searchstring = secure_sql(htmlentities($_POST['keywords']));
	 $sql_string_check = mysql_query("SELECT string FROM pm_searches WHERE string=\"$searchstring\"");
	 $string_check = mysql_num_rows($sql_string_check);
 	 if($string_check > 0){
		$sql = mysql_query("UPDATE pm_searches SET hits=hits+1 WHERE string = '".prepare_for_mysql($searchstring)."'") or die (mysql_error());
	 }
	 else {
	 	if(!empty($userdata['username'])) {
			$sql = mysql_query("INSERT INTO pm_searches SET string = '".prepare_for_mysql($searchstring)."'") or die (mysql_error());
		}
     	else {
			$sql = mysql_query("INSERT INTO pm_searches SET string = '".prepare_for_mysql($searchstring)."'") or die (mysql_error());
		}
	 }
	 
    switch($mode)
    {
      case "normal":
        $sql = "SELECT uniq_id, category, artist, video_title, 
               MATCH(artist, video_title) 
               AGAINST ('$searchstring') AS score FROM pm_videos 
               WHERE MATCH(artist, video_title) 
               AGAINST ('$searchstring') ORDER BY score DESC LIMIT 50";
      break;
      
      case "boolean":
        $sql = "SELECT uniq_id, category, artist, video_title, 
               MATCH(artist, video_title) 
               AGAINST ('$searchstring' IN BOOLEAN MODE) AS score FROM pm_videos 
               WHERE MATCH(artist, video_title) 
               AGAINST ('$searchstring' IN BOOLEAN MODE) ORDER BY score DESC";
      break;
    } 
    $result = mysql_query($sql) or die (mysql_error());
    $j = 0; 
	$item = '';
    while($row = mysql_fetch_assoc($result))
    {
			// ** MAKE NEW ** //
			$sql_date = date('Y-m-d', $row['added']);
			$date_diff = round( abs(strtotime(date('Y-m-d'))-strtotime($sql_date)) / 86400, 0 );
			if($date_diff < _ISNEW_DAYS)  { $new_li = " class=\"new\""; }
			// ** MAKE POPULAR ** //
			if($row['yt_views'] > _ISPOPULAR)  { $new_li = " class=\"pop\""; }
			if(($row['yt_views'] > _ISPOPULAR) && ($date_diff < _ISNEW_DAYS)) { $new_li = " class=\"pop_new\""; }
			$item .= "
			<li$new_li>
			<a href=\"musicvideo.php?vid=".$row['uniq_id']."\"><img src=\"".show_thumb($row['uniq_id'])."\" alt=\"".$row['video_title']."\" class=\"imag\" width=\"116\" height=\"87\" /><br />
			<span class=\"artist_name\">".$row['artist']."</span>
			".fewchars($row['video_title'], 40)."</a>
			</li>";
    }

	$count = mysql_num_rows($result);
	if($count == 0){
	$err = "<center><br><b>Sorry, your search did not yield any results. Please try searching for similar terms.</b></center>";
	}
  break;
}
// define meta tags & common variables
$meta_title = _SITENAME.' - Search results page.';
$meta_description = '';
// end

$smarty->assign('error_msg', $err);
$smarty->assign('searchstring', htmlentities($_POST['keywords']));
$smarty->assign('results', $item);
// --- DEFAULT SYSTEM FILES - DO NOT REMOVE --- //
$smarty->assign('meta_title', $meta_title);
$smarty->assign('meta_description', $meta_description);
$smarty->assign('template_dir', $template_f);
$smarty->display('search.tpl');
?>
 
Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<?php
session_start();

require('config.php');
require_once('include/functions.php');
require_once('include/user_functions.php');
require_once('include/islogged.php');

$cmd = (isset($_POST['cmd']) ? $_POST['cmd'] : '');
$cmd = secure_sql($cmd);
$mode = secure_sql(htmlentities($_POST['mode']));

switch($cmd)
{
  default:
  break;

  case "search":
     $searchstring = secure_sql(htmlentities($_POST['keywords']));
    $sql_string_check = mysql_query("SELECT string FROM pm_searches WHERE string=\"$searchstring\"");
    $string_check = mysql_num_rows($sql_string_check);
     if($string_check > 0){
      $sql = mysql_query("UPDATE pm_searches SET hits=hits+1 WHERE string = '".prepare_for_mysql($searchstring)."'") or die (mysql_error());
    }
    else {
       if(!empty($userdata['username'])) {
         $sql = mysql_query("INSERT INTO pm_searches SET string = '".prepare_for_mysql($searchstring)."'") or die (mysql_error());
      }
        else {
         $sql = mysql_query("INSERT INTO pm_searches SET string = '".prepare_for_mysql($searchstring)."'") or die (mysql_error());
      }
    }
   
    switch($mode)
    {
      case "normal":
        $sql = "SELECT uniq_id, category, artist, video_title,
               MATCH(artist, video_title)
               AGAINST ('$searchstring') AS score FROM pm_videos
               WHERE MATCH(artist, video_title)
               AGAINST ('$searchstring') ORDER BY score DESC LIMIT 50";
      break;
     
      case "boolean":
        $sql = "SELECT uniq_id, category, artist, video_title,
               MATCH(artist, video_title)
               AGAINST ('$searchstring' IN BOOLEAN MODE) AS score FROM pm_videos
               WHERE MATCH(artist, video_title)
               AGAINST ('$searchstring' IN BOOLEAN MODE) ORDER BY score DESC";
      break;
    }
    $result = mysql_query($sql) or die (mysql_error());
    $j = 0;
   $item = '';
    while($row = mysql_fetch_assoc($result))
    {
         // ** MAKE NEW ** //
         $sql_date = date('Y-m-d', $row['added']);
         $date_diff = round( abs(strtotime(date('Y-m-d'))-strtotime($sql_date)) / 86400, 0 );
         if($date_diff < _ISNEW_DAYS)  { $new_li = " class=\"new\""; }
         // ** MAKE POPULAR ** //
         if($row['yt_views'] > _ISPOPULAR)  { $new_li = " class=\"pop\""; }
         if(($row['yt_views'] > _ISPOPULAR) && ($date_diff < _ISNEW_DAYS)) { $new_li = " class=\"pop_new\""; }
         $item .= "
         <li$new_li>
         <a href=\"musicvideo.php?vid=".$row['uniq_id']."\"><img src=\"".show_thumb($row['uniq_id'])."\" alt=\"".$row['video_title']."\" class=\"imag\" width=\"116\" height=\"87\" /><br />
         <span class=\"artist_name\">".$row['artist']."</span>
         ".fewchars($row['video_title'], 40)."</a>
         </li>";
    }

   $count = mysql_num_rows($result);
   if($count == 0){
   $err = "<center><br><b>Sorry, your search did not yield any results. Please try searching for similar terms.</b></center>";
   }
  break;
}
// define meta tags & common variables
$meta_title = _SITENAME.' - Search results page.';
$meta_description = '';
// end

$smarty->assign('error_msg', $err);
$smarty->assign('searchstring', htmlentities($_POST['keywords']));
$smarty->assign('results', $item);
// --- DEFAULT SYSTEM FILES - DO NOT REMOVE --- //
$smarty->assign('meta_title', $meta_title);
$smarty->assign('meta_description', $meta_description);
$smarty->assign('template_dir', $template_f);
$smarty->display('search.tpl');
?>
 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> като го добавих и да напишеш "ивана" си изкарва Гергана тоест изкарва си каквото намери на БГ
 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" >

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

колко пъти ги имаш, вземи махаи и остави само 1 което на windows-1251 засича в момента iso формата и превръща символите в ascii кодове, затва не може да търси.
 
Оставих само едното и пак не иска

във function.php съм ги нагласил така:
@mysql_query('SET NAMES windows-1251');
@mysql_query('SET CHARACTER SET windows-1251');
@mysql_query('SET COLLATION_CONNECTION="cp1251_bulgarian_ci"');

Базата данние е в COLLATION cp1251_bulgarian_ci
Правилно ли е ?
 

Back
Горе