Xpoint
   [напомнить пароль]

UTF-8 в Мозилле

Метки: [без меток]
2010-06-08 13:27:07 [обр] Agar -Agar(0/68)[досье]

Помогите понять, что еще надо Мозилле, чтобы она сразу видела нужную кодировку.

История проблемы:

Созрел для перехода на современную кодировку. Пишу все в Perl. Почитал про шаманства в Perl, необходимые для этой процедуры и сделал вывод, что они были актуальны для далекого прошлого. Решил протестировать напрямую. Создал html-файл в UTF-8, в котором прописал через SSI обращение к perl-скрипту. Создал в UTF-8 перловый скрипт, в котором написал выводимый текст HTML-страницы. В HEAD страницы прописал <META http-equiv=Content-Type content="text/html; charset=UTF-8">. Запускаю. IE, Opera, Safari все нормально, Мозилла распознает изначально как 1251, что меня никак не устраивает. Сохраняю сгенерированную страницу на рабочем столе, открываю ее — теперь все браузеры показывают что нужно. Т.е. что-то не то при обращении Мозиллы к серверу, локальные файлы в UTF-8 она открывает сразу в нужной кодировке. Переношу тексты прямо в HTML-файл на домашнем сервере, без обращений к скрипту, получается та же картина, все браузеры распознают кодировку сразу, мозилле нужно каждый раз тыкать. Копирую сгенерированный файл, лежащий на рабочем столе (т.е. тот файл, который отображается всеми браузерами нормально), в директорию на домашнем сервере, открываю его как страницу сайта — опять мозилла глючит. Загрузил эту страничку на реальный сайт на реальном (не домашнем) бесплатном хостинге, при открытии та же картина — все браузеры распознают кодировку, а мозилла нет. Значит, дело в Мозилле? Или специально для нее нужно что-то еще прописывать? Почему другие сайты в этой кодировке открываются спокойно? Может, не правильно файл кодируется? Нашел в сети сайт с нужной кодировкой, сохранил на локальном диске. Содержимое поменял на содержимое своего файла, залил опять на бесплатный хостинг — картина не изменилась. Последняя надежда: нашел в Интернете фал в UTF-8, открыл его в Мозилле — все нормально. Сохранил на рабочий стол, открыл в мозилле — все нормально. Перенес, не открывая (думал, глюки в текстовом редакторе) на локальный сервер, открываю в мозилле как страничку на сервере — опять глюк. Открываю в других браузерах — все нормально. Блин, я уж теряюсь в догадках.

спустя 50 минут [обр] Marat Tanalin(10/78)[досье]
Скорее всего, кодировка Windows-1251 отдаётся в HTTP-заголовке ответа сервера Content-Type. Такой заголовок имеет (и, по идее, должен иметь в любом браузере) приоритет над одноимённым мета-элементом.
спустя 19 минут [обр] Agar -Agar(0/68)[досье]
Спасибо. Да, странно. Если просто зайти, кпримеру, на народ.ру, то там страницы в юникоде. Публикую там страницу в Юникоде, проверяю ее с помощью инструмента по вашей ссылке, выдает "Content-Type: text/html; charset=windows-1251". Может, у меня CuteFTP на ходу переделывает? Попробовал загрузить через форму — все равно остается запись о 1251. Что в этом случае можно еще предпринять?
спустя 46 минут [обр] Agar -Agar(0/68)[досье]
Чтобы не создавать новую тему, спрошу еще: а как прописать ответ сервера хоть для домашнего Денвера? Очень надо перейти на UTF-8, а тестировать до заливки на сайт надо постоянно в том числе и в мозилле.
спустя 4 часа 35 минут [обр] Дмитрий Кучкин(0/236)[досье]
спустя 6 часов [обр] Marat Tanalin(10/78)[досье]

Что в этом случае можно еще предпринять?
Отказаться от использования народ.ру.

а как прописать ответ сервера хоть для домашнего Денвера?
Дополняя коллегу: директива AddDefaultCharset обычно прописывается в файле .htaccess, лежащем в корневой директории сайта.

спустя 2 дня 9 часов [обр] Agar -Agar(0/68)[досье]
Спасибо! Действительно, сервер народ.ру в принудительном порядке выдает всем кодировку 1251. .htaccess работает, тоже спасибо. Вот только страшновато и хотелось бы знать, нужно ли еще что прописывать, кроме задания кодировки в .htaccess? Если перловый скрипт создает новые файлы и переписывает уже созданные в UTF-8 файлы и папки, может ли теоретически быть какой косяк с кодировкой?
Powered by POEM™ Engine Copyright © 2002-2005