Die Charset-Deklaration fehlt oder tritt zu spät im HTML-Code auf.

Server und Browser kommunizieren miteinander, indem sie Datenbytes über das Internet senden. Wenn der Server nicht angibt, welches Zeichencodierungsformat er beim Senden einer HTML-Datei verwendet, weiß der Browser nicht, welches Zeichen jedes Byte darstellt. Die Spezifikation für die Deklaration der Zeichencodierung löst dieses Problem.

So schlägt die Lighthouse-Prüfung charset fehl

Lighthouse kennzeichnet Seiten, auf denen die Zeichencodierung nicht angegeben ist:

Die fehlgeschlagene Prüfung der Zeichencodierung.

Lighthouse geht davon aus, dass die Zeichencodierung deklariert ist, wenn eine der folgenden Bedingungen erfüllt ist:

  • Ein <meta charset>-Element im <head> des Dokuments, das vollständig in den ersten 1024 Byte des Dokuments enthalten ist
  • Einen Content-Type-HTTP-Antwortheader mit einer charset-Anweisung, die einem gültigen IANA-Namen entspricht.
  • Eine Bytereihenfolge-Marke (Byte Order Mark, BOM)

So bestehen Sie die charset-Prüfung

Fügen Sie Ihrem HTML-Code ein <meta charset>-Element hinzu.

Fügen Sie innerhalb der ersten 1.024 Bytes Ihres HTML-Dokuments ein <meta charset>-Element hinzu. Das Element muss vollständig innerhalb der ersten 1.024 Bytes enthalten sein. Als Best Practice empfiehlt es sich, das <meta charset>-Element als erstes Element im <head> Ihres Dokuments zu platzieren.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

HTTP-Antwortheader Content-Type hinzufügen

Konfigurieren Sie Ihren Server so, dass er einen Content-Type-HTTP-Antwortheader mit einer charset-Anweisung hinzufügt.

Content-Type: text/html; charset=UTF-8

Ressourcen