Voor de introductie van HTML5, vereist het instellen van de tekencodering op een document met een element dat u de enigszins uitgebreide regel hieronder schrijft. Dit zijn de Meta Charset-elementen als u HTML4 op uw webpagina gebruikte:
Wat belangrijk is om op te merken in deze code zijn de aanhalingstekens die je ziet rond de inhoud attribuut: inhoud="tekst/html; tekenset=iso-8859-1". Zoals alle HTML-attributen definiëren deze aanhalingstekens de waarde van het attribuut, wat aangeeft dat de hele string tekst/html; tekenset=iso-8959-1 is de inhoud van dit onderdeel. Dit is de juiste HTML, en het is hoe deze string bedoeld was om te worden geschreven. Het is ook onpraktisch lang en lelijk! Het is ook niet iets dat je je waarschijnlijk uit je hoofd zou herinneren!
In de meeste gevallen zouden webontwikkelaars deze code van de ene site moeten kopiëren en plakken in een nieuwe site die ze aan het ontwikkelen waren, omdat het veel gevraagd was om dit helemaal opnieuw te schrijven.
HTML5 verwijdert de extra "dingen"
HTML5 heeft niet alleen een aantal nieuwe elementen aan de taal toegevoegd, maar het heeft ook veel van de syntaxis van HTML aanzienlijk vereenvoudigd, inclusief het Meta Charset-element. Met HTML5 kunt u uw tekencodering toevoegen met de veel gemakkelijker te onthouden syntaxis voor de META element dat u hieronder ziet:
Vergelijk die vereenvoudigde syntaxis met wat we aan het begin van dit artikel schreven, de oude syntaxis die werd gebruikt voor HTML4, en u zult zien hoeveel gemakkelijker het is om de HTML5-versie te schrijven en te onthouden. In plaats van dit van een bestaande site te moeten kopiëren en plakken in een nieuwe waar je aan werkte, is dit absoluut iets dat je je als front-end webontwikkelaar zou kunnen herinneren. Deze tijdwinst is misschien niet veel, maar als je kijkt naar de andere syntaxisgebieden die HTML5 vereenvoudigde, kloppen de besparingen wel!
Voeg altijd de tekencodering toe
U moet altijd tekencodering voor uw webpagina's opnemen, zelfs als u nooit van plan bent er een te gebruiken speciale tekens. Als u geen tekencodering opneemt, wordt uw site kwetsbaar voor een cross-site scripting-aanval met UTF-7.
In dit scenario ziet een aanvaller dat er voor uw site geen tekencodering is gedefinieerd, zodat hij de browser laat denken dat de tekencodering van de pagina UTF-7 is. Vervolgens injecteert de aanvaller UTF-7-gecodeerde scripts in de webpagina en wordt uw site gehackt. Dit is problematisch voor alle betrokkenen, van uw bedrijf tot uw bezoekers. Het goede nieuws is dat het een eenvoudig te vermijden probleem is - zorg ervoor dat u tekencodering aan al uw webpagina's toevoegt.
Waar tekencodering toe te voegen
De tekencodering voor een webpagina moet de eerste regel van uw HTML zijn
element. Dit zorgt ervoor dat de browser weet wat de tekencodering is voordat hij iets anders op de pagina doet, behalve om het doctype te bepalen en te identificeren dat het een HTML-pagina is. Uw HTML zou moeten lezen:
...
HTTP-headers gebruiken voor extra beveiliging
U kunt ook de tekencodering in de HTTP-headers opgeven. Dit is nog veiliger dan het toevoegen aan de HTML-pagina, maar u moet toegang hebben tot de serverconfiguraties of .htaccess bestanden, wat betekent dat u mogelijk moet samenwerken met de hostingprovider van uw website om dit soort toegang te krijgen of om deze wijzigingen te laten aanbrengen voor u. Toegang is hier de uitdaging. De wijziging zelf is eenvoudig, dus elke hostingprovider zou deze wijziging relatief gemakkelijk voor u moeten kunnen maken.
Als u gebruik maakt van Apache, kunt u de standaardtekenset voor uw hele site instellen door het volgende toe te voegen: AddDefaultCharset UTF-8 naar je root .htaccess het dossier. De standaardtekenset van Apache is ISO-8859-1.