Кодировка сайта по умолчанию

Веб-сервер Apache в изначальной конфигурации не сообщает в полях Content-Type заголовков сообщений HTTP-ответа информацию о кодировке возвращаемых документов, за исключением избранных случаев, когда кодировка явно определяется расширением файла:
<IfModule mod_mime.c>
...
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866 .cp866
AddCharset ISO-8859-5 .iso-ru
AddCharset KOI8-R .koi8-r
...
AddCharset UTF-8 .utf8
...
</IfModule>
Из вышеприведенного фрагмента содержимого файла httpd.conf следует, в частности, что веб-страницы, представленные в кодировке Windows, должны иметь расширение cp-1251.
Такие настройки хороши своей универсальностью, позволяя без труда создавать многоязычные сайты. Но Рунет самодостаточен — подавляющее большинство документов в нем использует русский язык. В связи с чем хотелось бы, конечно, чтобы необходимая информация о кодировке указывалась сервером для документов с любыми расширениями, например html или htm.
Если предполагается сохранять веб-страницы в кодировке Windows, необходимо добавить в файл конфигурации сервера (внутрь блока <IfModule ...>...</IfModule> вышеприведенного отрывка) или в файл .htaccess, расположенный в корневом каталоге дерева документов, следующую строку:
AddDefaultCharset windows-1251
Если не указать кодировку документа в заголовке HTTP-ответа, ничего страшного, конечно, не произойдет — браузер либо попытается определить ее автоматически на основании содержимого документа, либо будет следовать жесткой пользовательской установке. И в том, и в другом случае возможны «несовпадения вкусов» — и тогда браузер вместо букв покажет «крякозябры» . Проблема на стороне пользователя решается несколькими щелчками мыши, но они, согласитесь, обременительны.

Примечание. Обсуждая вопрос о кодировках веб-страниц, нельзя обойти вниманием Russian Apache (apache.lexa.ru) — локализованный вариант самого популярного в мире веб-сервера. Проект был начат Дмитрием Крюковым в 1996 г., а позже переработан и продолжен Алексеем Тутубалиным.
Russian Apache позволяет «на лету» осуществлять автоматическую перекодировку документов, передаваемых пользователю, в зависимости от настроек браузера, т. е. от предпочтений, формулируемых клиентом в полях Accept-Charset HTTP-сообщений запроса. Можно настроить также отправку документов в той или иной кодировке при обращении к тому или иному порту веб-сервера.
На сегодняшний день нет никакой необходимости в использовании Russian Apache, ибо все сколько-либо распространенные браузеры прекрасно понимают любые кодировки кириллицы. Тем не менее, проект до сих пор поддерживается, и многие русскоязычные веб-сайты его используют.
Этим примечанием мне бы хотелось отдать дань уважения разработчикам Russian Apache — их труд сыграл колоссальную роль на этапе становления Рунета и, безусловно, не забудется никогда.


© 2008-2018 ОптимизацияВебСайтов.ру


Любое использование текстового и графического контента сайта без активной ссылки на источник не доскается.