Serwery i przeglądarki komunikują się ze sobą, wysyłając bajty danych przez w internecie. Jeśli serwer nie określa formatu kodowania znaków podczas wysyłania pliku HTML, przeglądarka nie wie, jaki znak reprezentuje każdy bajt. Deklaracja kodowania znaków pozwala rozwiązać ten problem.
Dlaczego nie udało się przeprowadzić kontroli w Lighthouse charset
Lighthouse oznacza strony, które nie mają określonego kodowania znaków:
![Audyt kodowania znaków z błędami.](https://developer.chrome.com/static/docs/lighthouse/best-practices/charset/image/the-failing-character-enc-65708532bd6a6.png?authuser=19&hl=pl)
Lighthouse uznaje kodowanie znaków za zadeklarowane, jeśli wykryje któryś z tych elementów:
- Element
<meta charset>
w<head>
dokumentu, który jest całkowicie zawarte w pierwszych 1024 bajtach dokumentu - nagłówek odpowiedzi HTTP
Content-Type
z dyrektywącharset
pasującą do prawidłowa nazwa IANA - znacznik kolejności bajtów (BOM).
Jak przejść kontrolę charset
Dodaj element <meta charset>
do kodu HTML
Dodaj element <meta charset>
w ciągu pierwszych 1024 bajtów dokumentu HTML.
Element musi mieścić się w całości w zakresie pierwszych 1024 bajtów.
Sprawdzoną metodą jest nadanie elementu <meta charset>
jako pierwszego elementu
<head>
dokumentu.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Dodaj nagłówek odpowiedzi HTTP Content-Type
Skonfiguruj serwer, aby dodać Content-Type
Nagłówek odpowiedzi HTTP zawierający dyrektywę charset
.
Content-Type: text/html; charset=UTF-8