[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache+русские страницы



Artem Chuprina пишет:
Sergey Pahomov -> debian-russian@lists.debian.org  @ Mon, 29 Aug 2005 20:09:59 +0400:

 >>>Есть следующая проблема, которую нужно срочно решить. Есть сервер, на
 >>>нем стоит апач. До некоторого для он работал под Альтом. Сегодня его
 >>>обновили до Деба 3.1 и вот понеслась. Директива в конфиге CharsetDisable
 >>>не поддерживается. Все страницы на русском в браузере отображаются в
 >>>виде подчеркиваний. В инете ни одного решения не нашел. Если кто знает -
 >>>как его можно полечить - прошу помочь в этом нелегком деле. А то клиенты
 >>>меня скоро побьют :(
 >> это у тебя стоял т.н. "Русский apache" - http://apache.lexa.ru/ - набор
 >> патчей к apache для перекодировки страниц при отдаче в кодировку
 >> браузера. В прошлом тысячелетии браузеры не умели сами конвертировать
 >> русские кодировки перед отображением и если страница была в koi8-r на unix, а
 >> браузер работал на OS/2 с cp866, то прочитать содержимое сайта было
 >> невозможно.
 >> Сейчас это решённая проблема и браузеру достаточно от сервера получить
 >> тип кодировки в котором ему отдают страницу (заголовок content-type,
 >> слово charset=...).
 >> Тебе надо найти в конфиге директиву AddDefaultCharset (если её нет, то
 >> добавить) и написать там кодировку в которой лежат твои страницы
 >> (windows-1251, koi8-r, utf8, и тд).
 >> Для проверки удобно использовать утилиту GET из пакета libwww-perl, примерно
 >> так должен выглядеть результат:
 >> $ GET -Ued http://www.yandex.ru/
 >> GET http://www.yandex.ru/
 >> User-Agent: lwp-request/2.06
 >> [..]
 >> Content-Type: text/html; charset=windows-1251
 >> [..]
 >>

 SP> IMHO надо выставлять AddDefaultCharset = off
 SP> тогда сервер бытет отдавать страницы как они есть,
 SP> Есть указать кодировку, например AddDefaultCharset = koi8-r
 SP> то будет отдаваться всегда "content="text/html; charset=koi8-r"
 SP> независимо от того что реально прописано.

Сервер в любом случае будет отдавать страницы как есть.  Только если не
сказать AddDefaultCharset, будет говорить, что они в iso8859-1.  Ему-то,
бедному, откуда знать, в какой они кодировке, если ты старательно от
него эту информацию скрываешь?


А серверу и не надо знать в какой они кодировке.
Есть AddDefaultCharset  не указан, то content="text/html; charset=...">
останется как прописал автор.
Иначе броузер получит content="text/html; charset=... с той кодировкой которая прописана в AddDefaultCharset, независимо от <meta... > в самом документе
А кодирвка документа не изменится в любом случае.



Reply to: