BASH Programming - Введение

Русские странички не нарушая стандартов - это просто!


Здесь приведена по шаговая инструкция правильной подготовки ваших русских страничек для WWW:

  • Если у вас на страничках стоит выбор кодировок, выкиньте этот кусок HTML кода: он вам больше не понадобиться -- отныне все будет происходить автоматически.
  • Если у вас странички не в кодировке KOI8-R, перекодируйте их туда каким-нибудь конвертером -- смотрите раздел . Ничего страшного не произойдет: если все дальнейшее вы сделаете правильно, то в таком виде их по-прежнему можно будет редактировать, скажем, в Netscape Composer

    без всякой заметной разницы. Мало того, в таком виде ваши странички будут одинаково хорошо видны для всех операционных систем без всяких переключателей кодировок, превратившихся в бич русского WWW.

  • Внимание! Данный пункт можно пропустить, если на вашем сервере стоит Apache или какая-либо его разновидность (то есть в 90% случаев) -- в этом случае необходимая информация может быть задана в настройках Apache.

    Если же вы предполагаете частые переезды с сервера на сервер с неизвестными HTTPD, следуйте указаниям пункта.

  • Проверьте самую первую строчку ваших русских HTML документов, она должна выглядеть примерно так:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    Если такой строчки нет, или номер после слова HTML меньше 4.0, добавьте ее в самое начало.

    Примечание для специалистов: атрибут LANG определен только в HTML 4.0 и выше, так что указание DTD обязательно.

  • Замените следующий за ней таг <HTML> на таг <HTML LANG=ru>, это укажет, что ваш документ на русском языке, и облегчит жизнь поисковикам.
  • Спросите вашего веб-мастера, что за штука стоит у вас в качестве веб-сервера, если он ответит:

    что Apache или Apache/RUS:

  • в самом верхнем каталоге, содержащем ваши странички, создайте файл с именем .htaccess, доступный всем на чтение с такими строчками:



  • Для версий Apache, начиная с 1.3.12:

    AddDefaultCharset koi8-r AddLanguage ru .html .txt

  • Для версий Apache, начиная с 1.3.10:

    AddCharset koi8-r .html .txt AddLanguage ru .html .txt


  • Для более старых версий Apache (или если версия вам неизвестна):

    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).

    На этом все готово. При просмотре ваших страничек никто теперь не увидит мусора из умляутов вместо нормальных русских букв, и не придется больше выбирать кодировки!


    Содержание раздела