Русские странички не нарушая стандартов - это просто!
Здесь приведена по шаговая инструкция правильной подготовки ваших русских страничек для WWW:
без всякой заметной разницы. Мало того, в таком виде ваши странички будут одинаково хорошо видны для всех операционных систем без всяких переключателей кодировок, превратившихся в бич русского WWW.
Если же вы предполагаете частые переезды с сервера на сервер с неизвестными HTTPD, следуйте указаниям пункта.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Если такой строчки нет, или номер после слова HTML меньше 4.0, добавьте ее в самое начало.
Примечание для специалистов: атрибут LANG определен только в HTML 4.0 и выше, так что указание DTD обязательно.
что Apache или Apache/RUS:
в самом верхнем каталоге, содержащем ваши странички, создайте файл с именем .htaccess, доступный всем на чтение с такими строчками:
AddDefaultCharset koi8-r AddLanguage ru .html .txt
AddCharset koi8-r .html .txt AddLanguage ru .html .txt
AddType "text/html; charset=koi8-r" .html AddType "text/plain; charset=koi8-r" .txt AddLanguage ru .html .txt
Если файл .htaccess уже есть, просто добавьте туда эти строчки.
Записанное в .htaccess распространяется на все подкаталоги вниз по дереву.
Подразумевается, что ваши HTML документы заканчиваются на .html; если они заканчиваются на .htm, поменяйте .html на .htm в предлагаемом образце.
При таких настройках не обязательно (но можно) указывать язык тагом <HTML LANG=ru, как это было описано выше.
Указание языка внутри HTML документа имеет приоритет над указанием для сервера.
Так как для текстовых (*.txt) документов никак нельзя указать язык внутри документа, указание для сервера -- это единственная альтернатива.
Если у вас на сервере стоит Apache/RUS, то рекомендуется отключить всякую автоматическую перекодировку, добавив в .htaccess директиву
CharsetTurnOff On
(работает начиная с версии Apache/RUS PL20).
ПРЕДУПРЕЖДЕНИЕ: в последних версиях Apache обработка файлов .htaccess по умолчанию выключена в главной конфигурации (директивой AllowOverride None), т.е. ваши установки не будут иметь никакого эффекта. В этом случае попросите вебмастера включить такую обработку для вашего каталога, добавив директиву
AllowOverride +FileInfo
в соответствующую секцию <Directory ...>
конфигурации Apache.
что NCSA:
в каждом каталоге, содержащем ваши странички, заведите файл с именем .htaccess, доступный всем на чтение с такими строчками:
AddType text/html;\ charset=koi8-r .html AddType text/plain;\ charset=koi8-r .txt
Если файл .htaccess уже есть, просто добавьте туда эти строчки.
Подразумевается, что ваши HTML документы заканчиваются на .html; если они заканчиваются на .htm, поменяйте конец строки на .htm соответственно.
что CERN:
для каждого вашего каталога с русскими страничками создайте подкаталог .web, в него положите файлы с именами, сконструированными добавлением суффикса .meta к именам в главном каталоге. Каталог .web и файлы в нем должны быть доступны всем на чтение. Например, файлу index.html соответствует файл .web/index.html.meta и т.д. Каждый такой файл должен содержать следующую строчку
Content-Type: text/html; charset=koi8-r
(для HTML файлов) или
Content-Type: text/plain; charset=koi8-r
(для текстовых файлов).
что какой-нибудь другой HTTP сервер:
сперва попробуйте связать расширения .html и .txt по аналогии с решениями выше; если вы не знаете, как это сделать в вашем HTTP сервере, вам придётся редактировать непосредственно сами ваши странички: в секцию <HEAD> каждого HTML документа вставьте самой первой директивой следующий таг:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
Т.е. каждый ваш документ должен будет выглядеть примерно так:
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
<TITLE>Заголовок странички</TITLE>
</HEAD>
<BODY>
Содержимое странички </BODY>
К сожалению, в этом случае невозможно указание кодировки для текстовых файлов (*.txt).
На этом все готово. При просмотре ваших страничек никто теперь не увидит мусора из умляутов вместо нормальных русских букв, и не придется больше выбирать кодировки!