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:
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 einercharset-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