У меня есть странная проблема в IE. Это связано с тем, как IE обнаруживает кодировку iframe на основе своего родительского контента. Мое приложение обертывает содержимое страницы в iframe и устанавливает кодировку родительского окна в UTF-8 через заголовок Content-Type. Содержимое iframe не устанавливает кодировку через Content-Type и берет кодировку родительского окна при начальной загрузке. Это желаемое поведение - для окна содержимого требуется кодировка UTF-8 для некоторого языкового контента, но по сложным причинам, не зависящим от моего контроля, он не может принудительно установить свою собственную кодировку, поэтому он полагается на кодировку родительского окна.IE теряет автоматическую кодировку UTF-8 в форме iframe target
Проблема возникает, когда страница контента является объектом действия формы. Когда форма отправляется и страница загружается в окне содержимого, она автоматически выбирает кодировку Западной Европы (Windows). Кто-нибудь знает, почему? Я пробовал искать какую-либо документацию по связанному поведению, но googles они ничего не делают. Любой вид руководства (помимо отправки заголовка Content-Type или метки байтового кода в контенте) был бы наиболее полезен.
Я, к сожалению, не общественное место для размещения, но скопировать оклейки эти примеры кода для локальных файлов и сохранение каждого с UTF-8 кодировкой без метка порядка байтов должен последовательно воспроизвести поведение во всех версии IE.
frame1.html
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <div>エンコード</div> <iframe src="frame2.html"></iframe>
frame2.html
<form> <input value="エンコード"> <input type="submit"> </form>
Резюмируя на примере, если загрузить страницу и проверить кодировку как родителя и IFRAME , вы должны увидеть «Auto-Select» и «UTF-8», выбранный в обоих. Если вы нажмете «Отправить» в iframe, кадр перезагрузится и текст ввода будет искажен. При проверке кодировки iframe все равно должен быть отмечен флажок «Автовыбор», но теперь вместо «UTF-8» будет выбрана «Западноевропейская (Windows)». Мне нужно знать, есть ли что-то еще, что я могу сделать, чтобы автоматически сохранить кодировку UTF-8, когда действие формы завершено.
Заранее спасибо!