|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 15 May 2003 13:46:55 To : Alexander V. Wolf Subject : Re: Кучерявый вопрос -------------------------------------------------------------------------------- Alexander V. Wolf wrote: > Здравствуйте! > > Ситуация такая: юзер что-то поискал на яндексе или рамблере или еще > какой искалке и пришел на мой сайт. В результате в поле referer > имеется хост с информацией о том, что же спрашивали. Сейчас у меня > идет обработка log-файла сервера на предмет таких запросов и > подбивается статистика такого рода: > 1. Самые запрашиваемые слова и словосочетания на сайте > 2. Какие слова и словосочетания на каких поисковиках использовались и > скроько раз. > > Все бы ничего, но возникла такая проблема -- запросы на поисковиках > делаются в разных кодировках, соответственно такая же беда получается > и в логах сервера. > > А теперь собственно сам вопрос: каким образом можно определить, в > какой кодировке был сделан запрос и привести все запросы к одной > кодировке? Достоверно - никак. Hо запросы на поисковики, как правило порождаются в результате заполнения форм выданных самим поисковиком, и, как правило, отсылаются в той кодировке, в которой была выдана форма. Соответственно, можно проверить в какой кодировке для каких User-Agent-ов выдает форму каждый поисковик. Плюс обрабатывать ситуации с самопроизвольным переключением кодировок в windows-1251 (MSIE) и в UTF-8 (Mozilla, MSIE). Hекоторые поисковики явно передают тип кодировки в параметрах запроса (например Google в &ie=...). > Особо меня интересует perl средства работы с UTF-8 В perl 5.8.0 - практически полная поддержка. perldoc perlunicode, perldoc perluniintro, perldoc Encode, perldoc encoding, perldoc utf8, perldoc bytes, а также частично perldoc -f open, perldoc -f binmode, perldoc perlre, perldoc perlretut, perldoc Unicode::Normalize и др. в более ранних версиях поддержка заметно хуже. От недоделанной в 5.6.x до никакой в <= 5.005. Работать с unicode данными можно даже в этих версиях, но уже полностью самостоятельно, без поддержки со стороны языка. -- Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/65778d70f21f.html, оценка из 5, голосов 10
|