Een tijdje geleden had ik bij één van mijn websites een probleem. In een aantal browsers (waaronder Internet Explorer én Firefox) werd er een extra witregel toegevoegd bovenaan de pagina. Na lang zoeken bleek dit veroorzaakt te zijn door een zogenaamde BOM.
Een BOM (Byte Order Mark) is een code die in vrijwel alle tekstverwerkers (ook in Windows Kladblok) wordt toegevoegd aan een bestand in UTF-8 codering. Deze code leidt bij webpagina's gemakkelijk tot problemen. Een bekend probleem is in PHP. Als je HTTP-headerinformatie wilt versturen naar de browser moet dat gebeuren vóór de gewone pagina-uitvoer. Is het PHP-bestand in UTF-8 en bevat het een BOM, dan wordt die als eerste verstuurd en mislukt het verzenden van de headerinformatie. Over dat probleem is veel op internet te vinden en als oplossing had ik bedacht dat ik alle uitvoer met een include invoegde in het basisbestand. Het basisbestand stond niet in UTF-8, het include-bestand wel. De BOM werd dan pas verzonden ná de headerinformatie.
Maar over het probleem van de witregel kon ik weinig vinden. Pas na lang zoeken ontdekte ik dus dat ook dit veroorzaakt werd door de BOM. De oplossing: de BOM verwijderen.
Kan dat dan? dacht ik. Ja dus. Maar niet in alle tekstverwerkers. Windows Kladblok bijvoorbeeld kan het niet. Uiteindelijk kwam ik uit bij het opensource-programma
Notepad++. Dat programma biedt de mogelijkheid om bij UTF-8 te kiezen uit opslaan met en opslaan zonder BOM.
Reacties