Brakuje deklaracji zestawu znaków lub występuje ona zbyt późno w kodzie HTML

Serwery i przeglądarki komunikują się ze sobą, wysyłając bajty danych przez internet. Jeśli serwer nie określi, jakiego formatu kodowania znaków używa podczas wysyłania pliku HTML, przeglądarka nie będzie wiedzieć, jaki znak reprezentuje każdy bajt. Ten problem rozwiązuje specyfikacja deklaracji kodowania znaków.

Przyczyny niepowodzenia audytu Lighthouse charset

Lighthouse oznacza strony, które nie określają kodowania znaków:

nieudana weryfikacja kodowania znaków;

Lighthouse uznaje, że kodowanie znaków zostało zadeklarowane, jeśli znajdzie któryś z tych elementów:

  • Element <meta charset> w sekcji <head> dokumentu, który w całości mieści się w pierwszych 1024 bajtach dokumentu.
  • Content-Type Nagłówek odpowiedzi HTTP z dyrektywą charset, która pasuje do prawidłowej nazwy IANA.
  • znacznik kolejności bajtów (BOM);

Jak przejść audyt charset

Dodaj element <meta charset> do kodu HTML

Dodaj element <meta charset> w pierwszych 1024 bajtach dokumentu HTML. Element musi w całości mieścić się w pierwszych 1024 bajtach. Zgodnie ze sprawdzoną metodą element <meta charset> powinien być pierwszym elementem w sekcji <head> dokumentu.

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

Dodawanie nagłówka odpowiedzi HTTP Content-Type

Skonfiguruj serwer tak, aby dodawał nagłówek odpowiedzi HTTP Content-Type, który zawiera dyrektywę charset.

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

Zasoby