На домашнем компьютере стоит Apache, настроенный на работу с CGI, и установлен Perl, непосредственно и играющий роль CGI. Когда в ответ на посланную форму IE 6 получает HTML-страницу, сгенерированную CGI-программой на Perl, все русские буквы отображаются неправильно, и в параметре «кодировка» стоит «Западноевропейская ISO». Если после загрузки сгенерированной страницы кодировку менять руками непосредственно в IE на «Кириллица», все становится нормально. Пробовал писать в генерируемом HTML-коде параметр lang=”ru” в полях <html> и <font> – не помогает.
Где копать? В IE 6 или в Apache? Может Apache нужно как-то настроить на то, чтобы он «говорил» IE что страница русская? |
проверь правильность meta:
<meta HTTP-EQUIV="Content-Type" Content="text-html; charset=windows-1251"> (или koi) со всеми кавычкасм и кодировкой |
Цитата:
Какие еще могут быть соображения? |
Ant
а нельзя ли показать кусок Perl-ового кода? |
Конечно, я приведу код ниже. А пока замечу, что charset менял на все лады и meta вставлял куда только можно, не смотря на то, что теоретически в этом нет смысла. Прога простая, пробная. Получает из HTML-формы значения полей name и description, после чего при нажатии на кнопку «Послать», программа выводит эти значения в генерируемой странице. И все.
Вот код: #!/usr/bin/perl -w use CGI qw(:standard); use strict; print header; #Прога просто генерирует HTML-страницу с данными введенными ранее print "<meta HTTP-EQUIV='Content-Type' Content='text-html; charset=windows-1251'>\n"; print "<html>\n<head>\n<title>Ответ</title>\n"; print "</head>\n<body>"; #Выводим имя взятое в поле name формы: print "Ваше имя: ", param('name'), "<br>\n"; #Выводим описание взятое в поле name формы: print "Ваше описание ", param('description'), "<br>\n"; print "<hr>\n"; print "</body>\n</html>\n"; |
Ant
perldoc CGI::charset А меты в <head></head> прописывать надо |
Цитата:
Цитата:
|
Цитата:
P.S. Кстати, такая же фигня и в Opera. Значит проблема не в броузере. |
Ant
Это не модуль, это функция. Dybvfntkmyj читаем как отправлять заголовки через модуль CGI (раз уж ты его подключаешь). |
Ant
httpd.conf Код:
AddDefaultCharset WINDOWS-1251 |
perchik
И как это повлияет на результат работы цигейной программы? Мимо, товарищи. |
Цитата:
Прошу прощения, но я не учел одного очень важного факта. Все html-документы, запрашиваемые через сервер и имеющие русские кодировки отображаются неправильно, вне зависимости от meta. Везде сначало принимается за "Заподноевропейская (ISO)". Кстати, именно ISO стяла в AddDefaultCharset сначала. С "перловой" функцией charset еще не пытался ни чего делать. Сейчас попробую... |
Ant
путь_к_перлу/lib/CGI.pm всё ISO-8859-1 меняешь на windows-1251 |
Время: 16:20. |
Время: 16:20.
© OSzone.net 2001-