UTF-8 ohne BOM
Aus Contao Community Documentation
betrifft | |
---|---|
TYPOlight Version | Alle Versionen |
Contao Version | ab 2.9 |
In Contao sind alle Dateien im Zeichensatz UTF-8 kodiert.
Problematik
Wenn eine Datei mit ungeeigneten Programmen bearbeitet wird, kann es passieren, dass die Datei zusammen mit einer BOM (Byte Order Mark) abgespeichert wird. Diese BOM besteht aus 3 speziellen Bytes am Anfang der Datei, diese werden aber bisher von PHP nicht richtig interpretiert. Erst ab PHP 6 soll die BOM in PHP-Dateien möglich sein.
Die entstehenden Effekte können ganz unterschiedlich sein:
- Es gibt eine weisse Seite
- Im Internet Explorer stimmt fast nichts mehr an Ausrichtungen und Abständen
- Die Mootools-Effekte, wie Accordion, funktionieren nicht in allen Browsern
- Der HTML-Validator meldet das Vorhandensein der BOM als Warnung
Was ist zu tun?
Die Datei kann mit einem geeigneten Editor, z.B. dem Notepad++ geöffnet werden und dann als "UTF-8 ohne BOM" neu gespeichert werden. Der Editor entfernt dann die schädlichen Zeichen am Dateianfang.
Hat man keine Ahnung mehr, welches die schadhafte Datei ist, kann man sie suchen lassen. Es gibt dafür ein PHP-Skript von den Herstellern des freien FCKeditor mit dem Namen "PHP BOM Finder" (siehe Quellenangaben). Diese Datei php_bom_finder.php lädt man in das Contao-Basisverzeichnis und ruft sie über den Webbrowser auf. Das Skript durchsucht rekursiv den Dateibaum nach Dateien, die mit einer BOM beginnen und listet diese auf. Alle Fundstellen nach obriger Anleitung korrigieren und dann sollten die BOM-Fehler weg sein.
Bitte nicht vergessen, das PHP-Skript wieder aus dem Contao-Verzeichnis zu löschen!
Kann man sich noch ins Backend anmelden, dann hilft auch diese Erweiterung zum aufspüren: BOM Checker
Quellenangaben
Wikipedia Byte Order Mark
Notepad++
FCKeditor - PHP BOM Finder
--do_while 2010-12-09