Server e browser comunicano tra loro inviando byte di dati tramite internet. Se il server non specifica il formato di codifica dei caratteri utilizzato quando invia un file HTML, il browser non saprà quale carattere rappresenta ogni byte. La dichiarazione di codifica dei caratteri la specifica risolve questo problema.
Perché il controllo charset
di Lighthouse non va a buon fine
Lighthouse segnala le pagine che non specificano la propria codifica dei caratteri:
![Il controllo della codifica dei caratteri non è riuscito.](https://developer.chrome.com/static/docs/lighthouse/best-practices/charset/image/the-failing-character-enc-65708532bd6a6.png?authuser=19&hl=it)
Lighthouse considera la codifica dei caratteri da dichiarare se rileva uno dei seguenti elementi:
- Un elemento
<meta charset>
nella sezione<head>
del documento che è completamente contenuti nei primi 1024 byte del documento - Un'intestazione della risposta HTTP
Content-Type
con un'istruzionecharset
che corrisponde a un nome IANA valido - Un byte-order mark (BOM)
Come superare il controllo charset
Aggiungi un elemento <meta charset>
al codice HTML
Aggiungi un elemento <meta charset>
entro i primi 1024 byte del documento HTML.
L'elemento deve essere contenuto completamente all'interno dei primi 1024 byte.
La best practice prevede che l'elemento <meta charset>
sia il primo elemento nella
<head>
del documento.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Aggiungi un'intestazione della risposta HTTP Content-Type
Configura il tuo server per aggiungere una Content-Type
Intestazione della risposta HTTP che include un'istruzione charset
.
Content-Type: text/html; charset=UTF-8