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

Verkorte titel
Fu21 Karaktercodering: fout vanwege het gebruik van een Unicode byte-order mark (BOM)

Volledige titel van de gangbare fout

Fu21: Gangbare fout voor succescriterium U.8.1 doordat een bestand in UTF-8 formaat is opgeslagen met een Unicode byte-order mark (BOM)

Toepasbaarheid

Alle webpagina's.

Deze fout is gerelateerd aan:

Beschrijving

Hoewel de Unicode-standaard gebruik van de Byte Order Mark (BOM) in UTF-8 toetstaat, is het niet verplicht en wordt het ook niet aanbevolen. In UTF-8 heeft bytevolgorde geen betekenis. Een BOM dient daarom alleen als identificatie dat voor een bestand de UTF-8 karaktercodering is gebruikt, of dat sprake is van omzetting vanuit een ander formaat waar BOM wel toegevoegde waarde heeft.

Veel Windows-programma's - waaronder Windows Kladblok - voegen standaard een BOM toe aan UTF-8-bestanden. In Unix en Unix-achtige omgevingen zoals BSD, Linux, Apple's OSX en Google's Android en bij scipttalen als PHP, Perl, Puthon en Ruby verstoort deze praktijk de juiste verwerking van belangrijke code. Genoemde omgevingen en talen kunnen op zichzelf prima overweg met UTF-8, maar gebruik van BOM biedt geen enkele toegevoegde waarde en heeft in de praktijk regelmatig een sterk verstorende werking.

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.

In UTF-8 is een BOM aan de bytevolgorde 0xEF,0xBB,0xBF aan het begin van een bestand. Deze zijn onzichtbaar. In sommige teksteditors en browsers worden ze desondanks getoond als ISO-8859-1 karakters .

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 het bestand een UTF-8 BOM bevat.

Verwacht toetsresultaat

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