Почему internet explorer 9 показывает странные символы в содержимом UTF8 и пробелах?

в настоящее время я работаю на веб-сайте клиента и наткнулся на эту странную ошибку, учитывая HTML:

<p>&nbsp;</p>
<p>
    <span class="indentLeft">
        REDACTED&nbsp;A/S&nbsp;har hovedsæde i Århus (foto).
    </span>
</p>

Internet Explorer 9 покажет следующее:

IE9 Snippet showing whitespace characters

теперь, для начала, я думал, что это проблема кодирования,за исключением IE7, IE8, firefox, chrome и safari показывает это правильно.

Так что мой вопрос на самом деле... есть ли что-то новое в Internet Explorer 9, о котором я не знаю, какой-то заголовок, который делает его отображать HTML-объекты или это моя кодировка на стороне сервера?

Я попытался принудительно изменить кодировки в IE9 без успеха, поэтому я вернулся к квадрату.

5 ответов


какая кодировка символов используется файлом, в котором хранится HTML? Определите кодировку, затем установите эту кодировку для использования любым анализом документа. Например, если ваш документ сохранен в кодировке UTF-8:

<head>
    <meta charset="UTF-8">
</head>

Я бы также попытался изменить шрифт, просто чтобы убедиться, что это не проблема с глифом, но я также подозреваю кодировку.


Я решил проблему, открыв файл (theme-ui.php) в visual studio и сохранение его как "unicode без подписи".


у меня есть аналогичная проблема в IE9, где utf-8, поставляемый xmlHTTPRequest, интерпретируется как ISO 8859-1, несмотря на то, что реализующий документ содержит:

<meta http-equiv="content-type" content="text/html;charset=utf-8">

.. и это XMLHttpRequest.getResponseHeader('Content-Type') возвращает: text/html; charset=UTF-8

изменение на шрифт без TTF не помогает

это происходит, если реализующий документ содержит:

<meta http-equiv="X-UA-Compatible" content="IE=8">

проблема уходит, если строка удаляется или изменяется на:

<meta http-equiv="X-UA-Compatible" content="IE=7">

У меня была такая же проблема, попробовал оба решения Натана и Терье без успеха.

Я, наконец, решил проблему, изменив кодировку в Notepad++ с "кодировать в UTF-8 без BOM" на "кодировать в UTF-8"

надеюсь, это поможет.


в моем случае проблема была в шрифте! Арабский шрифт, который я использовал, не был совместим с IE, но хорошо работал с chrome. Я изменил шрифт на совместимый!