| Ниже приведен фрагмент кода счетчика версии 3.3.7, в который вставлен вывод поисковой фразы на монитор. Получается результат типа: РґРѕСЂРѕРІСЊРµ
Почему так?
$reff = urldecode($_SERVER['HTTP_REFERER']);
// Выясняем принадлежность к поисковым системам
$search = 'none';
if(strpos($reff,"yandex")) $search = 'yandex';
if(strpos($reff,"rambler")) $search = 'rambler';
if(strpos($reff,"google")) $search = 'google';
if(strpos($reff,"aport")) $search = 'aport';
if(strpos($reff,"mail") && strpos($reff,"search")) $search = 'mail';
if(strpos($reff,"msn") && strpos($reff,"results")) $search = 'msn';
$server_name = $_SERVER["SERVER_NAME"];
if(substr($_SERVER["SERVER_NAME"],0,4) == "www.") $server_name = substr($_SERVER["SERVER_NAME"],4);
if(strpos($reff,$server_name)) $search = 'own_site';
//вносим поисковый запрос в соответствующую таблицу
if(!empty($reff) && $search!="none" && $search != "own_site")
{
switch($search)
{
case 'yandex':
{
eregi("text=([^&]*)", $reff."&", $query);
if(strpos($reff,"yandpage")!=null)
$quer=convert_cyr_string(urldecode($query[1]),"k","w");
else
$quer=$query[1];
break;
}
case 'rambler':
{
eregi("words=([^&]*)", $reff."&", $query);
$quer = $query[1];
break;
}
case 'mail':
{
eregi("q=([^&]*)", $reff."&", $query);
$quer = $query[1];
break;
}
case 'google':
{
eregi("q=([^&]*)", $reff."&", $query);
$quer = utf8_win($query[1]);
break;
}
case 'msn':
{
eregi("q=([^&]*)", $reff."&", $query);
$quer = utf8_win($query[1]);
break;
}
case 'aport':
{
eregi("r=([^&]*)", $reff."&", $query);
$quer = $query[1];
break;
}
}//конец для switch
$symbols = array("\"", "'", "(", ")", "+", ",", "-");
$quer = str_replace($symbols, " ", $quer);
$quer = trim($quer);
$quer = preg_replace('|[\s]+|',' ',$quer);
echo "<br><br>", $quer ;
}
function utf8_win($s)
{
$s=str_replace("\xD0\xB0","а",$s); $s=str_replace("\xD0\x90","А",$s);
$s=str_replace("\xD0\xB1","б",$s); $s=str_replace("\xD0\x91","Б",$s);
$s=str_replace("\xD0\xB2","в",$s); $s=str_replace("\xD0\x92","В",$s);
$s=str_replace("\xD0\xB3","г",$s); $s=str_replace("\xD0\x93","Г",$s);
$s=str_replace("\xD0\xB4","д",$s); $s=str_replace("\xD0\x94","Д",$s);
$s=str_replace("\xD0\xB5","е",$s); $s=str_replace("\xD0\x95","Е",$s);
$s=str_replace("\xD1\x91","ё",$s); $s=str_replace("\xD0\x81","Ё",$s);
$s=str_replace("\xD0\xB6","ж",$s); $s=str_replace("\xD0\x96","Ж",$s);
$s=str_replace("\xD0\xB7","з",$s); $s=str_replace("\xD0\x97","З",$s);
$s=str_replace("\xD0\xB8","и",$s); $s=str_replace("\xD0\x98","И",$s);
$s=str_replace("\xD0\xB9","й",$s); $s=str_replace("\xD0\x99","Й",$s);
$s=str_replace("\xD0\xBA","к",$s); $s=str_replace("\xD0\x9A","К",$s);
$s=str_replace("\xD0\xBB","л",$s); $s=str_replace("\xD0\x9B","Л",$s);
$s=str_replace("\xD0\xBC","м",$s); $s=str_replace("\xD0\x9C","М",$s);
$s=str_replace("\xD0\xBD","н",$s); $s=str_replace("\xD0\x9D","Н",$s);
$s=str_replace("\xD0\xBE","о",$s); $s=str_replace("\xD0\x9E","О",$s);
$s=str_replace("\xD0\xBF","п",$s); $s=str_replace("\xD0\x9F","П",$s);
$s=str_replace("\xD1\x80","р",$s); $s=str_replace("\xD0\xA0","Р",$s);
$s=str_replace("\xD1\x81","с",$s); $s=str_replace("\xD0\xA1","С",$s);
$s=str_replace("\xD1\x82","т",$s); $s=str_replace("\xD0\xA2","Т",$s);
$s=str_replace("\xD1\x83","у",$s); $s=str_replace("\xD0\xA3","У",$s);
$s=str_replace("\xD1\x84","ф",$s); $s=str_replace("\xD0\xA4","Ф",$s);
$s=str_replace("\xD1\x85","х",$s); $s=str_replace("\xD0\xA5","Х",$s);
$s=str_replace("\xD1\x86","ц",$s); $s=str_replace("\xD0\xA6","Ц",$s);
$s=str_replace("\xD1\x87","ч",$s); $s=str_replace("\xD0\xA7","Ч",$s);
$s=str_replace("\xD1\x88","ш",$s); $s=str_replace("\xD0\xA8","Ш",$s);
$s=str_replace("\xD1\x89","щ",$s); $s=str_replace("\xD0\xA9","Щ",$s);
$s=str_replace("\xD1\x8A","ъ",$s); $s=str_replace("\xD0\xAA","Ъ",$s);
$s=str_replace("\xD1\x8B","ы",$s); $s=str_replace("\xD0\xAB","Ы",$s);
$s=str_replace("\xD1\x8C","ь",$s); $s=str_replace("\xD0\xAC","Ь",$s);
$s=str_replace("\xD1\x8D","э",$s); $s=str_replace("\xD0\xAD","Э",$s);
$s=str_replace("\xD1\x8E","ю",$s); $s=str_replace("\xD0\xAE","Ю",$s);
$s=str_replace("\xD1\x8F","я",$s); $s=str_replace("\xD0\xAF","Я",$s);
return $s;
}
|
| |