25 03 2009
PHP, UltraEdit und UTF-8 Dateien
Warning: Cannot add header information – headers already sent
Diese Fehlermeldung kommt normalerweise, wenn man die header() Funktion aufruft, nachdem man schon HTML Text ausgegeben hat.
Es kann jedoch vorkommen, dass man definitiv KEINE Zeichen vorher ausgegeben hat, z.B.:
<?
header( “Location: http://www.b-nm.at”);
?>
Falls in dieser oder ähnlichen Situation der Fehler auftritt, könnte die Ursache der versteckte Byte-Order-Mark (kurz: BOM) am Anfang der Datei sein sein. Der BOM ist ein binärer Code der das Dateiformat bzw. dessen “Byte-Order” festlegen soll.
UltraEdit erkennt und versteckt automatisch den BOM-Header, was im Falle der PHP Dateien stören kann.
Konfiguration von UltraEdit zur Darstellung vom BOM:
Menü Advanced -> Configuration -> File Handling -> Unicode/UTF-8 Detection -> hier müssen alle Häkchen inaktiv sein
Weitere Infos zu BOM: http://en.wikipedia.org/wiki/Byte-order_mark
Google Power – Tipps & Tricks für die Google Suche Produktvorstellung: X-Lingo [‘Cross-Lingo’] Crossmedia Publishing System