Fu21: Gangbare fout voor succescriterium U.8.1 doordat een bestand in UTF-8 formaat is opgeslagen met een Unicode byte-order mark (BOM)
Alle webpagina's.
Deze fout is gerelateerd aan:
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.
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
.
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.
De fout is van toepassing - en er wordt dus niet aan het succescriterium voldaan - bij de volgende uitkomst: