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

Ansichten
Meine Werkzeuge

Contao Community Documentation

... aber beim nächsten Mal nehm ich einfach den Catalog... da hab ich weniger Arbeit mit.

MacKP
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge