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

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



Pavel Ammosov пишет:
On Sat, Aug 27, 2005 at 11:08:46PM +0300, Alexander wrote:

Есть следующая проблема, которую нужно срочно решить. Есть сервер, на
нем стоит апач. До некоторого для он работал под Альтом. Сегодня его
обновили до Деба 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
[..]



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



Reply to: