Для нашего веб-приложения у нас есть несколько HTML-страниц, содержащих текстовые области. Все наши страницы представлены с кодировкой ISO-8859-1. Когда страница открывается через IE6 на машине Windows, а специальные символы, такие как «умная цитата», копируются в текстовую область, некоторые из наших страниц отправляют страницу с использованием кодировки символов Windows 1252. На остальных страницах появляются сообщения с использованием кодировки символов UTF-8. Я отслеживал представить кодировку, используя следующую скрытое поле:Представленная кодировка символов - _charset_ скрытое поле
<input type="hidden" name="_charset_" />
На Рабочем 1252 представить страницы кодирования символов, мы получаем значение «Windows-1252».
На страницах кодировки символов UTF-8 мы получаем пустое значение.
На бэкэнд используется ISO-8859-1. Хотя в идеале нам нужна кодировка символов отправки, я не вижу возможности форсировать это поведение в IE 6. Учитывая выбор между Windows 1252 и UTF-8, я предпочел бы, чтобы контент был представлен в Windows 1252, так что это более вероятно для правильной визуализации, когда страница повторно отображается в ISO-8859-1.
Я просмотрел наши страницы в глубине, и ничто не выпрыгивает на меня как причина, по которой некоторые страницы отправляются в кодировке одного символа.
1) Когда IE 6 возвращает charset пустого, действительно ли это соответствует UTF-8? IE 6 всегда возвращает кодировку пустого, когда кодировка символов отправки является UTF-8 или только когда она не может правильно определить, какую кодировку символов использовать?
2) Какие возможные различия могут возникнуть на страницах, которые приведут к тому, что IE 6 подберет Windows 1252 на некоторых страницах и UTF-8 на других? Я просмотрел страницу для символов UTF-8 и для любых атрибутов accept-charset и не смог найти их.
Дополнительная информация: Я нашел информацию о charset скрытый ввод по следующей ссылке.
http://web.archive.org/web/20060427015200/ppewww.ph.gla.ac.uk/~flavell/charset/form-i18n.html
У вас есть атрибут «charset = ...» в ваших HTML-формах? Если нет, попробуйте добавить его. –
Я попробовал предоставить «accept-charset» в форме, используя «windows-1252» и «iso-8859-1». По-видимому, это не повлияло на поведение. Возможно, это результат «багги» поддержки этого атрибута IE (http://reference.sitepoint.com/html/form/accept-charset). – user381221