Server e browser comunicano tra loro inviando byte di dati su internet. Se il server non specifica quale formato di codifica dei caratteri sta utilizzando quando invia un file HTML, il browser non saprà quale carattere rappresenta ogni byte. La specifica della dichiarazione della codifica dei caratteri risolve questo problema.
Come non superare il controllo charset di Lighthouse
Lighthouse segnala le pagine che non specificano la codifica dei caratteri:
Lighthouse considera la codifica dei caratteri dichiarata se trova uno dei seguenti elementi:
- Un elemento
<meta charset>nell'elemento<head>del documento completamente contenuto nei primi 1024 byte del documento - Un'intestazione della risposta HTTP
Content-Typecon una direttivacharsetche corrisponde a un nome IANA valido - Un indicatore dell'ordine dei byte (BOM)
Come superare il controllo charset
Aggiungere un elemento <meta charset> all'HTML
Aggiungi un elemento <meta charset> nei primi 1024 byte del documento HTML.
L'elemento deve essere completamente contenuto nei primi 1024 byte.
La best practice consiste nel rendere l'elemento <meta charset> il primo elemento dell'
<head> del documento.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Aggiungere un'intestazione della risposta HTTP Content-Type
Configura il server in modo che aggiunga un'Content-Type
intestazione della risposta HTTP che includa una direttiva charset.
Content-Type: text/html; charset=UTF-8