Автор статьи: Жарков Станислав
Различные Web-редакторы, столь любимые нашим народом (MS FrontPage, Netscape Composer и т.п.), в свою очередь, любят российский народ и всячески о нем заботятся. В частности, они считают своим долгом автоматически вставлять в текст Web-страницы следующую волшебную инструкцию:
<META HTTP-EQUIV=»Content-Type» CONTENT=»text/html; charset=koi8-r»>
Вместо koi-8r может стоять обозначение любой другой кодировки русского языка например, windows-1251. Суть от этого не меняется данный HTML-код служит для определения кодировки русского языка Web-страницы. Польза от использования этой инструкции, казалось бы, очевидна. Почему же у статьи такой заголовок?
В настоящее время нет абсолютно никакой необходимости жестко прописывать CHARSET в теле HTML-страницы, так как кодировка, в которой она выдается пользователю величина отнюдь не постоянная. Вы ведь сами видели ссылки для переключения KOI/WIN/DOS/ISO на многих сайтах. Это вовсе не означает, что владельцу сайта нужно хранить на сервере несколько вариантов своей страницы в различных кодировках. Упаси Боже! Страница лежит на сервере в одной кодировке koi8r, а при выборе пользователем, например, win-1251 Web-сервер сам переводит страницу в эту кодировку. Более того, сервер сам умеет определять encoding пользователя и автоматически транслирует страницу, так что кодировку, скорее всего, вам переключать не приходится. Такая система автоматической перекодировки обеспечивается веб-сервером (не компьютером, а специальной программой) http://apache.lexa.ru/, установленном на большинстве российских Web-узлов.
А теперь рассмотрим ситуацию, когда в теле WWW-страницы прописана инструкция CHARSET, например, charset=koi8-r. итак, пользователь (кодировка win-1251) заходит на сайт. Web-сервер определяет, что пользователь работает под Windows, и перекодирует страницу в соответствующую кодировку. Но CHARSET-то остался, и он указывает на кодировку koi8-r! А броузер посетителя тоже не дурак (на самом деле дурак, только об этом многие не знают). Он анализирует текст страницы, видит CHARSET, видит koi8-r и (фанфары и барабанная дробь!) подставляет кодировку KOI! В результате пользователь получает на экране нечитаемый текст и большое разочарование.
Так что, если вы любите FrontPage больше, чем посетителей своей страницы, оставляйте все как есть. Но если наоборот (я искренне на это надеюсь :-)) пишите HTML «руками» или, по крайней мере, вычищайте из своих страниц инструкцию CHARSET.
Исключение сервера, на которых отсутствует система автоматической перекодировки. Это, в основном, зарубежные сервера, где никто ничего не слышал о мучениях российских пользователей по поводу KOI8R и Windows-1251 и, естественно, не заботится о системах перекодировки. Если ваш сайт размещен на таком сервере, то CHARSET в этом случае необходим.
Кстати 13 февраля 1999 г. вышла версия 1.34 PL27.7 Russian Apache. В ней появилась способность сервера заменять прописанный в HTML-документе CHARSET на правильный, соответствующий кодировке клиента. Это, разумеется, не значит, что все вышеизложенное можно смело забыть. Russian Apache установлен далеко не на всех серверах России так что бдительность терять нельзя!