Перекодировка запросов из поисковников

beriv

Guest
Перекодировка запросов из поисковников

Есть запросы из поисковника,
например,
http://ie5.rambler.ru/cgi-bin/query_ie5?words=%D0%E0%E4%E8%EE%E6%F3%F7%E5%EA
http://www.yandex.ru/yandsearch?text=%E6%F3%F7%EA%E8

из запроса нужно узнать поисковое слово.
применяю функцию urldecode, но оказывается, что запрос может быть в различной кодировке.

Проблема состоит вследующем: нужно как-то определять кодировку, чтобы использовать
convert_cyr_string .

Подкинте какую-нибудь идею
 

Vinny

Guest
Вот тут и начинаеются проблемы. Проще всего сделать "табличку" поисковик->кодировка. Потому как все алгоритмы определения кодировки, на сколько я знаю, основываются на предположении о том, что в буква в одной кодировке используется чаще чем буква с тем же asc() в другой кодировке. Эта схема правильно работает только при достаточно большой длине строки, а в запросе к поисковикам, как правило, используются короткие строки.
 

Vinny

Guest
Да? Что-то я в этом сомневаюсь. Ну а если все действительно так плохо, то я пас.
 

Rat

Guest
По-моему кодировка указывается в этой же строке.
В разных поиковиках по-разному.
Экспериментировать надо.
 

Максим Деркачев

Guest
Кодировка в REFERER в той кодировке, в которой давали запрос.
 

beriv

Guest
еще проблема:
Из яндекса бывают следующие запросы
http://yandex.ru/yandsearch?text=%u041F%u043E%u0434%u0441%u043B%u0443%u0448%u0438%u0432%u0430%u044E%u0449%u0438%u0435 %u0443%u0441%u0442%u0440%u043E%u0439%u0441%u0442%u0432%u0430

как его декодировать?
 

Rat

Guest
Это двухбайтовое юникодовое кодирование.
 

subz

Guest
попробуй iconvlib - полезная вещичка знаете ли =)
 
Сверху