Кодировка. Как средствами PHP распознать koi или win и как перевести UTF в win ?

S
На сайте с 01.08.2003
Offline
7
2127

есть такие HTTP_REFERER

-----1-----

http://www.yandex.ru/yandpage?q=492703323&p=1&ag=h&qs=&text=ФЧЕТДПФПРМЙЧОЩЕ

-----2-----

http://www.google.com.ru/search?q=Котлы на твердом топливе &ie=UTF-8&oe=UTF-8&hl=ru&btnG=Поиск в Google&lr= ) Котлы на твердом топливе

-----end-----

как средствами PHP ?

понять в 1ом что это koi-8

перевести 2ой из UTF-8 в win-1251

кто знает подскажите, буду благодарен.

[ ommm seo nau ] .........
S
На сайте с 01.08.2003
Offline
7
#1

<?function utf8_win($s)

{

$s=strtr($s,array(

"\xD0\xB0"=>"а", "\xD0\x90"=>"А",

"\xD0\xB1"=>"б", "\xD0\x91"=>"Б",

"\xD0\xB2"=>"в", "\xD0\x92"=>"В",

"\xD0\xB3"=>"г", "\xD0\x93"=>"Г",

"\xD0\xB4"=>"д", "\xD0\x94"=>"Д",

"\xD0\xB5"=>"е", "\xD0\x95"=>"Е",

"\xD1\x91"=>"ё", "\xD0\x81"=>"Ё",

"\xD0\xB6"=>"ж", "\xD0\x96"=>"Ж",

"\xD0\xB7"=>"з", "\xD0\x97"=>"З",

"\xD0\xB8"=>"и", "\xD0\x98"=>"И",

"\xD0\xB9"=>"й", "\xD0\x99"=>"Й",

"\xD0\xBA"=>"к", "\xD0\x9A"=>"К",

"\xD0\xBB"=>"л", "\xD0\x9B"=>"Л",

"\xD0\xBC"=>"м", "\xD0\x9C"=>"М",

"\xD0\xBD"=>"н", "\xD0\x9D"=>"Н",

"\xD0\xBE"=>"о", "\xD0\x9E"=>"О",

"\xD0\xBF"=>"п", "\xD0\x9F"=>"П",

"\xD1\x80"=>"р", "\xD0\xA0"=>"Р",

"\xD1\x81"=>"с", "\xD0\xA1"=>"С",

"\xD1\x82"=>"т", "\xD0\xA2"=>"Т",

"\xD1\x83"=>"у", "\xD0\xA3"=>"У",

"\xD1\x84"=>"ф", "\xD0\xA4"=>"Ф",

"\xD1\x85"=>"х", "\xD0\xA5"=>"Х",

"\xD1\x86"=>"ц", "\xD0\xA6"=>"Ц",

"\xD1\x87"=>"ч", "\xD0\xA7"=>"Ч",

"\xD1\x88"=>"ш", "\xD0\xA8"=>"Ш",

"\xD1\x89"=>"щ", "\xD0\xA9"=>"Щ",

"\xD1\x8A"=>"ъ", "\xD0\xAA"=>"Ъ",

"\xD1\x8B"=>"ы", "\xD0\xAB"=>"Ы",

"\xD1\x8C"=>"ь", "\xD0\xAC"=>"Ь",

"\xD1\x8D"=>"э", "\xD0\xAD"=>"Э",

"\xD1\x8E"=>"ю", "\xD0\xAE"=>"Ю",

"\xD1\x8F"=>"я", "\xD0\xAF"=>"Я",

));

return $s;

}?>

[Удален]
#2

Как понять - во втором случае (с гуглем) в урле же явно указана кодировка, в первом случае - прсото надо знать, что яндекс с первой страницы передает в одной кодировке, а в последующих - в другой.

S
На сайте с 01.08.2003
Offline
7
#3

задачи в 1м и во 2м случаи разные и вопрос звучит

как средствами PHP ?
понять в 1ом что это koi-8
перевести 2ой из UTF-8 в win-1251

--------

читать так

---------

понять в 1ом урле что это koi-8, для того чтобы если это кои то перевести в вин

---------

перевести 2ой урл из UTF-8 в win-1251,

конкретно из utf, в строке есть об этом инфа &ie=UTF-8,

ответ нашол здесь же на форуме

------------

интересует ответ на 1 ый вопрос

как понять из http://www.yandex.ru/yandpage?q=492703323&p=1&ag=h&qs=&text=ФЧЕТДПФПРМЙЧОЩЕ

в какой кодировке урл?

я знаю что это кои а как скриптом это сделать ?

[Удален]
#4

Если урл /yandpage?.... - то КОИ

Если урл /yandsearch?.... - то ВИН

Вроде так.

NL
На сайте с 29.01.2003
Offline
212
#5

skams, иногда в реферерах вместо %D... идет %d..., поэтому не лишним будет в этой функции вначале регистр поднять:

$s=strtoupper($s);

NL
На сайте с 29.01.2003
Offline
212
#6

А строку koi-8 как перевести в win-1251 средствами PHP?

euhenio
На сайте с 21.09.2001
Offline
357
#7

NULL,

$text=convert_cyr_string('текст','w','k');

Из win в koi

с ув., Евгений Трофименко seo блог Trofimenko.ru ( http://trofimenko.ru/ ) но ыыы мало обновляется... Tools.Promosite.ru - анализатор апдейтов Яндекса (пожертвуйте лимиты на Яндекс.XML! ( https://searchengines.guru/ru/forum/801888/page7#comment_11942489 )) Konvr.ru - увеличение конверсии сайта на 81% за 4 недели ( http://konvr.ru/ )
NL
На сайте с 29.01.2003
Offline
212
#8

Спасибо!

LM
На сайте с 30.11.2001
Offline
71
LiM
#9
Если урл /yandsearch?.... - то ВИН

Увы, не всегда есть так... Бывает и КОИ. Есть вариант и UTF-8, но он редко... очень редко встречается. И на другом домене он. Сходу не помню, кажется на ie6.yandex.ru

С уважением, Андрей Хроленок. Загляни в FAQ по оптимизации и продвижению сайтов (http://www.seoman.ru/FAQ/) Анализатор страниц сайтов (http://www.seoman.ru/analizer/)
S
На сайте с 01.08.2003
Offline
7
#10
skams, иногда в реферерах вместо %D... идет %d..., поэтому не лишним будет в этой функции вначале регистр поднять:
$s=strtoupper($s);

в google не стоит

происходит искажение

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий