Проблема с кодировкой (CGI-script)
А после того, как в оборзевателе вручную кодировку проставишь - нормально?
$query->header чему равно?
Да. Совершенно нормально.
Если его не написать, то страница не загрузится, ошибка 500.
можно вместо него написать "Content-type: text/html\n\n"
Получилось!
А оно больше глючить не будет?
encoding=koi8-rВот это - уродство. По стандарту HTTP кодировка указывается в заголовке, и твой сервер это делает. То, что ты указываешь в теле HTML и вызывает глюки. У Арта Лебедева есть про это статья, правда я не смог найти её даже с помощью гугла.
Однако, не менее авторитетный Андрей Чернов считает иначе.
Все же подавляющее большинство IT специалистов работающих с web склоняются к мнению Лебедева.
> и твой сервер это делает.
Сервер это делает для документов, а не для скриптов.
> То, что ты указываешь в теле HTML и вызывает глюки.
Нет. Содержимое документа на глюки не влияет.
Если в заголовке явно указана кодировка, то документ её переопределить уже не может.
Все глюки из-за того, что сервер или скрипт пишет хуйню (iso-8859-1) в заголовок,
соответственно, есть два способа лечения:
1) научить сервер/скрипт генерировать заголовок с правильной кодировкой;
2) запретить серверу/скрипту указывать кодировку и делать это в теле документа.
У говнобраузера на клиенте может быть и другое мнение.
> У говнобраузера на клиенте может быть и другое мнение.
Оно может быть, даже если документ без шизофрении.
$query->charset("koi8-r");
$query->charset("koi8-r");
там вроде ещё можно в качестве параметра у $query->header кодировку указать..
я правда не помню точно как... что-то типа
$query->header(-charset => "koi8-r")
тогда в html не надо ничего указывать
Оставить комментарий
Elina74
Есть такой скрипт:Русские буквы в файле - в кодировке koi8-r.
В конфигурационном файле /etc/apache/httpd.conf есть строчка
AddDefaultCharset on
Вне зависимости от того что я напишу вместо on: off, koi8-r, windows-1251 результат не меняется: скрипт выдает страницу с нечитаемыми кракозяблями
можете посоветовать что делать?