Server e browser comunicano tra loro inviando byte di dati tramite internet. Se il server non specifica il formato di codifica dei caratteri utilizzato per l'invio di un file HTML, il browser non saprà quale carattere rappresenta ogni byte. La specifica della dichiarazione della codifica dei caratteri risolve il problema.
Come il controllo di Lighthouse charset
non va a buon fine
Lighthouse segnala le pagine che non specificano la codifica dei caratteri:
![Controllo della codifica dei caratteri non riuscita.](https://developer.chrome.google.cn/static/docs/lighthouse/best-practices/charset/image/the-failing-character-enc-65708532bd6a6.png?authuser=5&hl=it)
Lighthouse considera la codifica dei caratteri da dichiarare se rileva uno dei seguenti elementi:
- Un elemento
<meta charset>
in<head>
del documento che è completamente contenuto 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 completamente contenuto nei primi 1024 byte.
La best practice consiste nel rendere l'elemento <meta charset>
il primo elemento nella sezione <head>
del documento.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Aggiungi un'intestazione della risposta HTTP Content-Type
Configura il server in modo da aggiungere un'intestazione della risposta HTTP Content-Type
che include un'istruzione charset
.
Content-Type: text/html; charset=UTF-8