Internet Explorer verwendet beim Rendern einer HTML-Seite einen falschen Zeichensatz

Wichtig

Die Internet Explorer 11-Desktopanwendung wird für bestimmte Versionen von Windows 10 eingestellt und ab dem 15. Juni 2022 nicht mehr unterstützt.

Sie können mit dem Internet Explorer-Modus in Microsoft Edge weiterhin auf ältere Websites zugreifen, für die Internet Explorer erforderlich ist. Anleitung.

Die Internet Explorer 11-Desktopanwendung wird schrittweise an den schnelleren, sichereren Microsoft Edge-Browser umgeleitet und letztendlich über Windows Update deaktiviert werden. Deaktivieren von IE heute.

Dieser Artikel enthält die Methoden, mit denen Sie das Problem lösen können, dass Internet Explorer eine HTML-Seite mithilfe des falschen Zeichensatzes rendert.

Ursprüngliche Produktversion:   Internet Explorer
Ursprüngliche KB-Nummer:   928847

Problembeschreibung

Wenn Microsoft Internet Explorer eine HTML-Seite rendert, wird der falsche Zeichensatz verwendet. Internet Explorer erledigt dies, obwohl der richtige Zeichensatz durch ein META Tag auf der HTML-Seite angegeben wird.

Internet Explorer kann beispielsweise eine japanische HTML-Seite mithilfe des Shift-JIS-Zeichensatzes rendern, auch wenn UTF-8 durch das folgende META Tag auf der HTML-Seite angegeben wird:

<META http-equiv=Content-Type content="text/html; charset=utf-8">

Ursache

Dieses Problem kann auftreten, wenn eine oder mehrere oder die folgenden Bedingungen erfüllt sind:

  • Die Einstellung für die automatische Auswahl ist in Internet Explorer aktiviert. Mit dieser Einstellung kann Internet Explorer die Codepage ermitteln, die für die HTML-Seite verwendet wird.
  • Die Einstellung für das Systemgebietsschema unterscheidet sich von dem im Tag angegebenen Zeichensatz. META
  • Das META Tag, das den Zeichensatz angibt, befindet sich nicht im ersten Html-Datenabschnitt, der von MSHTML analysiert wird. In der Regel bedeutet dies, dass sich das Tag an einer Stelle nach den ersten 256 Byte der Daten bis zum Rest der ersten 4 KB befindet.
  • Der Server ist ein langsames System, oder der Server unterbricht den ersten Teil der HTTP-Antwort, sodass die Antwort das Tag nicht META enthält. Dieses Problem kann auftreten, wenn Sie die blockierte Codierung aktivieren.
  • Wenn Internet Explorer den anfänglichen zu analysierenden Abschnitt an die IMultiLanguage::ConvertStringToUnicode Methode übergibt, kann Internet Explorer die Konvertierung nicht ausführen.

Hinweis

Es gibt zusätzliche Bedingungen, die zu diesem Problem beitragen können. Diese zusätzlichen Bedingungen sind sehr codespezifisch und werden hier nicht aufgeführt.

Lösung

Wenden Sie eine der folgenden Methoden an, um dieses Problem zu beheben:

  • Deaktivieren Sie die Einstellung für die automatische Auswahl in Internet Explorer.
  • Geben Sie den Zeichensatz in den HTTP-Headern an.
  • Verschieben Sie das META Tag in das erste KB an Daten, die von MSHTML analysiert werden. Obwohl wir nicht wissen, wie viele Daten der Parser gleichzeitig liest, wird das Problem durch diesen Speicherort behoben.
  • Erhöhen Sie die Größe der anfänglichen HTTP-Antwort des Servers. Die anfängliche Größe sollte mindestens 1 KB betragen.
  • Stellen Sie sicher, dass die Einstellung für das Systemgebietsschema mit dem Zeichensatz des META Tags übereinstimmt, das auf der HTML-Seite angegeben ist.