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:
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-TypeNagłó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