Dit is een gearchiveerde versie van www.webrichtlijnen.nl.

Verkorte titel
Fu19 Karaktercodering: fout vanwege specificatie van ongelijke karaktersets via HTTP en in HTML

Volledige titel van de gangbare fout

Fu19: Gangbare fout voor succescriterium U.8.1 doordat in de webcontent en via HTTP headers karaktersets zijn gespecificeerd die niet gelijk zijn aan elkaar

Toepasbaarheid

Alle webpagina's.

Deze fout is gerelateerd aan:

Beschrijving

Karaktersets kunnen zowel in een (HTML) document als via HTTP headers worden gespecificeerd. Het is belangrijk om de karakterset mee te geven in het document, zodat deze buiten de context van een specifieke webserver nog steeds met de juiste karakterset wordt gelezen. Het is tegelijkertijd belangrijk om de karakterset via HTTP headers mee te geven, omdat de specificatie in de HTTP headers voorrang heeft op de specificatie in het document zelf. In het geval deze van elkaar afwijken, bestaat de kans dat de verkeerde karakterset wordt gehanteerd.

Dez fout doet zich voor wanneer de specificatie van karakterset via de HTTP headers en in het document van elkaar afwijken.

Voorbeelden

Opmerking: Voorbeelden hebben uitsluitend een informatieve functie. Het is niet de bedoeling om een succescriterium te beoordelen enkel op basis van de hier gepresenteerde voorbeelden.

(Fout) Voorbeeld 1

Een webpagina specificeert UTF-8 in het document middels het meta element:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Echter, de HTTP-headers bevatten de ISO-8859-1 karakterset. Het document zal door de user agent als ISO-8859-1 worden gelezen.

Informatiebronnen

Opmerking: Informatiebronnen zijn uitsluitend informatief bedoeld. Ze maken geen deel uit van de Webrichtlijnen. Deze opsomming impliceert geen goedkeuring van de bronnen door de opstellers of toezichthouders van deze specificatie.

Gerelateerde technieken

Toetsen

Procedure

  1. Controleer of een karakterset in het document in een meta element wordt gespecificeerd;
  2. Controleer de karakterset die meegestuurd wordt in de HTTP headers;
  3. Controleer of de karakterset uit controles 1 en 2 dezelfde is.

Verwacht toetsresultaat

De fout is van toepassing - en er wordt dus niet aan het succescriterium voldaan - bij de volgende uitkomst: