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 beim Senden einer HTML-Datei nicht angibt, welches Zeichencodierungsformat er verwendet, weiß der Browser nicht, für welches Zeichen die einzelnen Byte stehen. Die Spezifikation Zeichencodierungsdeklaration löst dieses Problem.

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

Lighthouse kennzeichnet Seiten, für die keine Zeichencodierung angegeben ist:

Die fehlgeschlagene Zeichencodierungsprüfung.

Lighthouse betrachtet die Zeichencodierung als deklariert, wenn eines der folgenden Elemente erkannt wird:

  • Ein <meta charset>-Element im <head> des Dokuments, das in den ersten 1.024 Byte des Dokuments vollständig enthalten ist
  • Ein Content-Type-HTTP-Antwortheader mit einer charset-Anweisung, der mit einem gültigen IANA-Namen übereinstimmt
  • Eine Bytereihenfolgemarkierung (BOM)

So bestehen Sie die charset-Prüfung

Dem HTML-Code ein <meta charset>-Element hinzufügen

Fügen Sie innerhalb der ersten 1.024 Byte des HTML-Dokuments ein <meta charset>-Element hinzu. Das Element muss vollständig in den ersten 1.024 Byte enthalten sein. Es empfiehlt sich, das Element <meta charset> zum ersten Element im <head> Ihres Dokuments zu machen.

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

Content-Type-HTTP-Antwortheader 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