Prima dell'introduzione di HTML5, l'impostazione della codifica dei caratteri su un documento con un elemento richiedeva di scrivere la riga un po' prolissa vista di seguito. Questi sono gli elementi Meta Charset se stavi utilizzando HTML4 nella tua pagina web:
Ciò che è importante notare in questo codice sono le virgolette che vedi intorno a soddisfare attributo: contenuto="testo/html; set di caratteri=iso-8859-1". Come tutti gli attributi HTML, queste virgolette definiscono il valore dell'attributo, indicando che l'intera stringa testo/html; set di caratteri=iso-8959-1 è il soddisfare di questo elemento. Questo è l'HTML corretto, ed è così che questa stringa doveva essere scritta. È anche ingombrante lungo e brutto! Inoltre, non è qualcosa che probabilmente ricorderesti in cima alla tua testa!
Nella maggior parte dei casi, gli sviluppatori web dovrebbero copiare e incollare questo codice da un sito in uno nuovo che stavano sviluppando perché scriverlo da zero richiedeva molto.
HTML5 elimina la "roba" extra
HTML5 non solo ha aggiunto alcuni nuovi elementi al linguaggio, ma ha anche notevolmente semplificato gran parte della sintassi dell'HTML, incluso l'elemento Meta Charset. Con HTML5, puoi aggiungere la codifica dei tuoi caratteri con la sintassi molto più facile da ricordare per il MET elemento che vedi sotto:
Confronta quella sintassi semplificata con ciò che abbiamo scritto all'inizio di questo articolo, la vecchia sintassi usata per HTML4, e vedrai quanto sia più facile scrivere e ricordare la versione HTML5. Invece di dover copiare e incollare questo da un sito esistente in uno nuovo su cui stavi lavorando, questo è assolutamente qualcosa che, come sviluppatore web front-end, potresti ricordare. Questo risparmio di tempo potrebbe non essere molto, ma se si considerano le altre aree di sintassi che HTML5 ha semplificato, i risparmi si sommano!
Includi sempre la codifica dei caratteri
Dovresti sempre includere la codifica dei caratteri per le tue pagine web, anche se non intendi mai usarne nessuna personaggi speciali. Se non includi una codifica dei caratteri, il tuo sito diventa vulnerabile a un attacco di scripting tra siti utilizzando UTF-7.
In questo scenario, un utente malintenzionato vede che il tuo sito non ha una codifica dei caratteri definita, quindi induce il browser a pensare che la codifica dei caratteri della pagina sia UTF-7. Successivamente, l'attaccante inietta script con codifica UTF-7 nella pagina Web e il tuo sito viene violato. Questo è problematico per tutti i soggetti coinvolti, dalla tua azienda ai tuoi visitatori. La buona notizia è che è un problema semplice da evitare: assicurati di aggiungere la codifica dei caratteri a tutte le tue pagine web.
Dove aggiungere la codifica dei caratteri
La codifica dei caratteri per una pagina web dovrebbe essere la prima riga del tuo codice HTML
elemento. Ciò garantisce che il browser sappia qual è la codifica dei caratteri prima di eseguire qualsiasi altra operazione sulla pagina oltre a determinare il doctype e identificare che si tratta di una pagina HTML. Il tuo codice HTML dovrebbe leggere:
...
Utilizzo delle intestazioni HTTP per una maggiore sicurezza
Puoi anche specificare la codifica dei caratteri nelle intestazioni HTTP. Questo è ancora più sicuro che aggiungerlo alla pagina HTML, ma dovresti avere accesso alle configurazioni del server o .htaccess file, il che significa che potresti dover collaborare con il provider di hosting del tuo sito web per ottenere questo tipo di accesso o fargli apportare le modifiche per voi. L'accesso è la sfida qui. La modifica in sé è semplice, quindi qualsiasi provider di hosting dovrebbe essere in grado di apportare questa modifica per te con relativa facilità.
Se stai usando Apache, puoi impostare il set di caratteri predefinito per l'intero sito aggiungendo: AddDefaultCharset UTF-8 alla tua radice .htaccess file. Il set di caratteri predefinito di Apache è ISO-8859-1.