|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Victor Wagner 2:5020/400 23 Feb 2003 11:26:08 To : Ruslan Sulemanov Subject : Re: кодировки -------------------------------------------------------------------------------- Ruslan Sulemanov <Ruslan.Sulemanov@p27.f1024.n4635.z2.fidonet.org> wrote: RS> Hello, All! RS> Возникла проблемка определения кодировок скорее не на программном, RS> а на идейном yровне. Hеобходимо определять языки и кодировки при RS> начальной загрyзке сайта. RS> Hекоторые броyзеры не хотят или просто не поддерживают RS> HTTP_ACCEPT_LANGUAGE и поэтомy сложно правильно определять языки и RS> соответсвенно использyемые кодировки, если какой-нибyдь более еффективный RS> метод опрделения языка и сабжа чем например такой код: Вообще говоря кодировка языку соответсвует не очень однозначно. А нескольким языкам можен соответствовать одна и та же кодировка. Для кодировки есть еще и Accept-Charset. По хорошему, современным браузерам можно отдавать в любой кодировке, главное не забыть ее указать. Если на странице нет форм, то все распространенные браузеры нынче ее поймут. Страницу с формами надо отдавать либо в utf-8 либо в cp1251. Поскольку браузеры в ОС, где основной кодировкой не является cp1251 не имеют привычки молча менять кодировку отправляемой формы с кодировки присланной страницы на свою родную, все будет в порядке. То же самое делается и для других языков, для которых существует несколько кодовых страниц. Выбирай мелкософтовскую - не ошибешься. RS> Если определять язык с помощь IP и DNS, то на это yходит время, что RS> тоже неэффективно. Этого нельзя делать ни в коем случае! Откуда ты знаешь что нужно наугад взятому киевлянину - русский (оригинальный текст) или украинский (в спешке сделанный перевод). Откуда ты знаешь что с американского IP-адреса зашел не вчерешний русский эмигрант? Откуда ты знаешь, что сетка, которая резолвится через DNS как что-нибудь.com или что-нибудь.org не находится на самом деле в Москве. Я тебе тут десяток таких назову. В поле From этого письма посмотри, например. А в некоторых странах есть несколько государственных языков. Какой язык из 4-х ты будешь отдавать швейцарцу? А как ты определишь по IP машинки в Канаде, сидит там франко-канадец или англо-канадец? В общем, я бы считал, что если Accept-Language нет, надо отдавать английский, и предусмотреть формочку выбора языка (причем на всех языковых вариантах страницы) которая будет выдавать твою собственную куку LANGUAGE, имеющую приоритет над значением Accept-Language. RS> Заранее благодарен за любyю помощь! RS> RSR -- rm -f /bin/laden --- ifmail v.2.15dev5 * Origin: Free Net of Leninsky,45 (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/1517889b6e121.html, оценка из 5, голосов 10
|