Проблема:
Если с моего сайта на (Drupal, utf-8) пользователь IE переходил на сайт с другой кодировкой (cp1251), а потом возвращался на мой сайт, то в IE сбивалась кодировка и все уже посещенные закэшированные страницы отображались кракозябрами (в кодировке cp1251).
Голову сломал прежде чем разобрался.
Дело было вот в чем:
Всегда прописывайте:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
!!!
Комментарии
Еще < head > и < body > важны в документе. Не забывайте о них!
Кстати у тёмы ещё есть предрассудки: - насчёт не писать DOCTYPE. Я, как и большинство считаю, что его нужно стараться писать, несмотря на необязательность...
Drupal ведь сам это прописывает
Вот именно, но еще есть модуль Мета, для прописи метатегов!
отдавайте сервером http заголовки с указанием кодировки
DOCTYPE было прописано, http сервер выдавал с указанием кодировки, даже < head > и < body > были на месте, а вот приведенного мета тега небыло в используемой мной теме, поэтому возник такой непонятный глюк в IE.
Если у тебя заголовком отсылалась кодировка, то пока ты руками на сменишь её в браузере, она будет той, что отослал сервер.
Мета "Content-Type" это не панацея, это фигня .. на которую давно положили все браузеры
http://biota.ru/trash/one/ - UTF-8 страница. Как выглядит? Читабельно? Хмм
http://biota.ru/trash/two/ - Тоже UTF-8 страница. Ура, всё понятно
И главное заметте! И там, и там указан мета контент тайп. А почему так? А все просто .. воспользуемся сервисом.
http://web-sniffer.net/?url=http%3A%2F%2Fbiota.ru%2Ftrash%2Fone%2F&submi...
http://web-sniffer.net/?url=http%3A%2F%2Fbiota.ru%2Ftrash%2Ftwo%2F&submi...
В первом случае сервер отсылает заголовок в котором указан windows-1251, во втором UTF-8. И эта директива для браузеров является приоритетной.
К сожалению сейчас не могу посмотреть будет ли работать мета в том случае если не отсылается заголовка о кодировке документа .. но мне кажется что будет, хотя может и нет.
Посему считаю данное громогласное заявление:
Абсолютно не правильным.
В том то и дело что я описываю баг IE 6.0 к которому (к багу) данное выражение не применимо:
"Если у тебя заголовком отсылалась кодировка, то пока ты руками на сменишь её в браузере, она будет той, что отослал сервер.
Мета "Content-Type" это не панацея, это фигня .. на которую давно положили все браузеры =)"
Баг заключался в следующем:
Если с моего сайта на (Drupal, utf-8) пользователь IE переходил на сайт с другой кодировкой (cp1251), а потом возвращался на мой сайт, то в IE сбивалась кодировка и все уже посещенные закэшированные страницы отображались кракозябрами (в кодировке cp1251).
То есть IE запоминал кодировку с другого сайта и применял к закэшированным страницам моего сайта.
В результате при повторном посещении моего сайта у пользователей вываливалась абра-кадабра.
Еще раз повторяю - это глюк IE 6.0, я просто описал как с ним бороться.
Мда?
А у меня на нескольких компах в ИЕ нету такого бага, если нормально прописать заголовок кодировки.
Может у вас IE не лицензионный?
Не знаю - на нескольких компах такой глюк был.
Здравствуйте.
Подскажите где прописать /> У меня код с наклонной чертой. И валидатор выдает ошибку. Как убрать красную палку?
мой сайт
кодировка не так важна на самом деле как кажется. ) достаточно заголовка сервера, как правило