Почему IE не может отображать кодированный в UTF-8 текст?

У меня есть несколько китайских иероглифов, которые я пытаюсь отобразить на веб-сайте Kentico. Этот текст копируется / вставляется в редактор Kenticos FCK, а затем сохраняется и появляется на сайте. В Firefox, Chrome и Safari символы отображаются точно так, как и ожидалось. В режиме стандартов IE 8 я вижу только поля.

Текст кодируется в кодировке UTF-8, и, насколько я могу судить, он корректно кодируется в ответе от сервера. Существует Content-Type: text / html; charset = utf-8 заголовок ответа и метатег на странице тоже. Когда я загружаю HTML-код с сервера и сравниваю байты рассматриваемых символов с исходным текстовым документом UTF-8, все байты совпадают, за исключением HTML, не включающего спецификацию.

Похоже, это характерно для IE 8 в режиме стандартов. В IE 8 Quriks: это работает. IE 7 Стандарты: это работает. IE 7 Quirks: Работает. Я не уверен, как режим стандартов мог бы вызвать эту проблему.

Странно, если я смотрю на исходный код из IE, символы правильно отображаются в исходном представлении.

Любые предположения о том, что здесь может быть не так? Я что-то упускаю из виду?

27
задан BalusC 16 August 2010 в 21:11
поделиться

3 ответа

Я не могу объяснить это подробно. Но это действительно известная проблема.

Вот небольшой воспроизводимый фрагмент кода:

<!DOCTYPE html>
<html lang="en">
    <head><title>test</title></head>
    <body><p>&#65185;<br>0 0</p></body>
</html>

Сохраните его в UTF-8 и просмотрите в IE8. Вы ничего не видите. Замените 0 0 на 00 и перезагрузите страницу. Будет работать нормально! Это просто потрясающе. Как ни странно, замена 0 0 на aa или
на

также исправит это . Это как-то связано с ошибками при рендеринге пробелов.

Извините, у меня нет авторских ресурсов, подтверждающих это, но это просто еще одно доказательство того, что IE8 не так хорош, как мы ожидали. Лучше всего попытаться изменить HTML и / или построить его шаг за шагом, чтобы он работал в какой-то момент, или, если напрасно, добавьте следующий метатег в заголовок, чтобы принудительно перевести IE8 в режим IE7:

<meta http-equiv="X-UA-Compatible" content="IE=7" />
11
ответ дан 28 November 2019 в 05:48
поделиться

Это может быть то же самое, что заставило Rails 3 добавить персонажа снеговика в свой вывод: Для чего нужен параметр _snowman в формах Ruby on Rails 3?

0
ответ дан 28 November 2019 в 05:48
поделиться

Просто предположение, но это может быть проблема со шрифтами. Возможно, шрифты, доступные вашему браузеру, не могут отображать китайские иероглифы.

3
ответ дан 28 November 2019 в 05:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: