c't 4/11
header(), mit dem Sie HTTP-Zeilen von Hand setzen können, zum Beispiel header("Content-type: text/plain"). Das funktioniert jedoch nur, wenn nicht bereits die Ausgabe der Inhalte begonnen hat. Jede echo-Anweisung oberhalb von header() und jedes Zeichen Text vor Beginn des Codes verursachen die Warnung „Cannot modify header information – headers already sent“.header()-Anweisung zu Beginn des Codes steht, kann sie Fehlermeldungen auslösen: Einige Textformate setzen nämlich an den Code-Anfang ein „Byte Order Mark“ (BOM). So weist das Drei-Byte-Zeichen EF BB BF zu Beginn eines Dokuments die Zeichenkodierung explizit als UTF-8 aus. Manche Editoren kennzeichnen UTF-8 mit BOM als „UTF-8Y“; in der Textansicht ist dieses optionale Zeichen unsichtbar.header()-Anweisung nicht mehr funktioniert. Die Speicherung des PHP-Dokuments im UTF-8-Format ohne BOM behebt das Problem.
(heb)Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-1172780
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.