Поддержка кодировок
| |
|
Как вы знаете, в русскоязычном Интернете сложилась довольно странная
ситуация с кодировками русского языка. Разные платформы используют разные
кодировки (koi8-r, windows-1251, iso-8859-5, cp866, mac).
У webmaster'a возникает вопрос, каким образом дать возможность абсолютно
всем посетителям увидеть Ваш сервер в правильном виде.
Несколько лет назад, когда программы-браузеры позволяли читать текст
только в родной кодировке своей операционной системы, возникли так
называемые перекодировщики на сервере. Они брали текст с диска и отдавали
его программе-клиенту в той или иной кодировке.
В настоящее время практически все браузеры позволяют
перекодировать текст непосредственно на клиентском компьютере. Клиенты,
пользующиеся этими программами, составляют около 95% всех приходящих на наши
WWW-серверы посетителей.
Современное программное обеспечение в состоянии самостоятельно разбираться
с кодировками и перекодировать текст по мере необходимости. Все, что нужно -
это правильная установка служебной информации, т.е. браузер должен получить
явное указание, в какой кодировке Ваш текст.
В случае работы с mail/news за Вас это делает почтовая программа. В случае
www, этот заголовок должен послать WWW-сервер. Как его настроить, очень
хорошо описано на странице Андрея Чернова. Все
примеры приведены для koi8, однако все то же самое можно применить и для
windows. Главное, чтобы кодировка самого текста соответствовала указанной в
заголовке.
Перекодировка на серверах, вошедшая в моду несколько лет назад как
единственная возможность заставить работать англоязычные программы в наших
условиях, на сегодня является анахронизмом и должна быть изжита.
Ваши документы должны лежать на диске нашей машины в кодировке
Windows-1251. При обращении к http://www.domain_name или
http://domain будет отдан документ в том виде, в котором он лежит
на диске, и автоматически указан правильный charset windows-1251.
Учтите, что явная или автоматическая перекодировка только путает
посетителя Вашего сервера, особенно если кодировка указана внутри HTML
документа через тег META. Кроме того, автоматический выбор кодировки
вызывает проблемы при работе через proxy-сервера.
Перекодировка замедляет работу WWW-сервера, поэтому страницы, требующие
перекодировки, отрабатываются медленнее.
Мы убедительно просим Вас убрать со своего сервера ссылки на выбор той
или иной кодировки. 98% посетителей работают под Windows. Они в любом
случае смогут прочитать Ваши документы в windows-1251.
Из оставшихся 2% пользователей, не менее половины - это системные
администраторы, работающие под операционной системой Unix и использующие
кодировку koi8-r. Это достаточно квалифицированные люди, они заведомо
в состоянии настроить свой браузер на чтение любой кодировки.
То же самое можно сказать и про пользователей MAC. Стандартная MAC'овская
русификация позволяет читать в кодировке windows-1251.
Если Вы все-таки хотите, чтобы выполнялась перекодировка, то URL типа
http://koi.domain_name/ будет осуществлять перекодировку из windows-1251 в
koi8-r.
Если по какой-то причине у Вас есть желание выдавать документы с
альтернативным, жестко заданным charset, можно создать в нужном подкаталоге
файл .htaccess, в который поместить строку вида
AddType "text/html; charset=iso-8859-1" .htm .html
В данном случае iso-8859-1 - charset, который будет выдаваться в
http-заголовке для всех документов, имеющих расширения .htm и .html.
Эта возможность может пригодиться в том случае, если потребуется поддержка
любого нетрадиционного для русского интернета языка. Кодировка iso-8859-1,
например, используется для отображения символов большинства
западно-европейских языков (например, финского и немецкого). Возможно, Вам
будет интересно прочитать и статью о
MIME types.