Hur man använder Meta Charset-taggar för teckenkodning i HTML5

Innan introduktionen av HTML5, ställa in teckenkodningen på ett dokument med ett element krävde att du skrev den något detaljerade raden som visas nedan. Detta är Meta Charset-elementen om du använde HTML4 på din webbsida:


Vad som är viktigt att lägga märke till i den här koden är citattecken du ser runt innehåll attribut: innehåll ="text / html; charset = iso-8859-1". Liksom alla HTML-attribut definierar dessa citattecken värdet på attributet, vilket indikerar att hela strängen text / html; charset = iso-8959-1 är innehåll av detta element. Detta är rätt HTML, och det är så den här strängen var tänkt att skrivas. Det är också otrevligt långt och ful! Det är inte heller något du troligtvis skulle komma ihåg från toppen av ditt huvud!

I de flesta fall skulle webbutvecklare behöva kopiera och klistra in den här koden från en webbplats till en ny som de utvecklade eftersom det var mycket att skriva detta från grunden.

HTML5 skär ut extra "grejer"

HTML5 lade inte bara till några nya element i språket utan förenklade också mycket av HTML-syntaxen, inklusive Meta Charset-elementet. Med HTML5 kan du lägga till din karaktärskodning med den mycket lättare att komma ihåg syntax för 

instagram viewer
META element som du ser nedan:


Jämför den förenklade syntaxen med vad vi skrev i början av den här artikeln, den gamla syntaxen som användes för HTML4, så ser du hur mycket lättare det är att skriva och komma ihåg HTML5-versionen. Istället för att behöva kopiera och klistra in det här från en befintlig webbplats till någon ny du arbetade med är det absolut något som du som en front-end webbutvecklare kan komma ihåg. Denna tidsbesparing kanske inte är mycket, men när man tänker på de andra syntaxområdena som HTML5 har förenklat, så gör besparingarna det!

Inkludera alltid teckenkodningen

Du bör alltid inkludera teckenkodning för dina webbsidor, även om du inte tänker använda någon speciella karaktärer. Om du inte inkluderar en teckenkodning blir din webbplats sårbar för en skriptattack på flera platser med UTF-7.

I det här scenariot ser en angripare att din webbplats inte har någon teckenkodning definierad, så det lurar webbläsaren att tro att karaktärskodningen på sidan är UTF-7. Därefter injicerar angriparen UTF-7-kodade skript på webbsidan och din webbplats hackas. Detta är problematiskt för alla inblandade, från ditt företag till dina besökare. Den goda nyheten är att det är ett enkelt problem att undvika - var noga med att lägga till teckenkodning på alla dina webbsidor.

Var ska man lägga till teckenkodning

Teckenkodningen för en webbsida ska vara den första raden i dina HTML-filer

element. Detta säkerställer att webbläsaren vet vad teckenkodningen är innan den gör något annat på sidan än att bestämma doktypen och identifiera att det är en HTML-sida. Din HTML bör läsa:




...

Använda HTTP-rubriker för extra säkerhet

Du kan också ange teckenkodningen i HTTP-rubrikerna. Detta är ännu säkrare än att lägga till det på HTML-sidan, men du måste ha åtkomst till serverkonfigurationerna eller .htaccess filer, vilket innebär att du kan behöva arbeta med din webbplats värdleverantör för att få denna typ av åtkomst eller få dem att göra ändringarna för du. Åtkomst är utmaningen här. Själva förändringen är enkel, så alla webbhotell ska kunna göra denna ändring åt dig relativt lätt.

Om du använder Apache, kan du ställa in standardteckenuppsättningen för hela din webbplats genom att lägga till: AddDefaultCharset UTF-8 till din rot .htaccess fil. Apaches standardteckenuppsättning är ISO-8859-1.