Webseiten in UTF-8 ausliefern - wie Dateien ohne BOM erzeugen?

PuppetMaster

Admiral
Dabei seit
Sep. 2001
Beiträge
8.207
Hi!

Ich möchte PHP- und CSS-Dateien interessehalber gern in UTF-8 ausliefern, bin dabei aber auf nicht unerhebliche Probleme gestoßen. Wenn ich in meinem Editor "Scite" UTF-8 als Kodierung auswähle, gibts vom Webserver jede Menge Fehlermeldungen des Typs "headers already sent"; wie ich mittlerweile herausgefunden habe wegen der BOM (Byte Order Mark), die vor die Textdatei gehängt wird. Alternativ bietet mir Scite unter Encoding noch "UTF-8 Cookie" an, worüber ich aber keine weiteren Informationen gefunden habe.


Wer kennt sich mit dieser Thematik etwas besser aus?
 

Enigma

Captain
Dabei seit
Apr. 2004
Beiträge
3.173
So weit ich das in Wikipedia nachgelesen habe, ist es eine mögliche Option einen String als UTF-8 zu kennzeichnen.

An den Anfang einer PHP-Quellcodedatei gehört das definitiv nicht - denn der PHP Interpreter kennt diesen Syntax nicht und schreibt es direkt in den Output Stream und sendet im gleichen Zug die Header. Eventuell wird PHP in zukünfigen Versionen UTF-8 Dateien korrekt behandeln - jedoch im Moment bleibt dir nix anders übrif als den BOM zu entfernen.

i can't believe no one has mentioned this before: my favourite editor: SciTe: [http://www.scintilla.org/SciTE.html ]
I supports numerous formats. Encodings are available in the file menu. The BOF format is called "UTF-8", and the non-BOF is called "UTF-8 cookie".
As a related issue, I use
PHP:
<?php header('Content-Type: text/html; charset=utf-8'); ?>
and
HTML:
<meta  HTTP equiv=Content-Type content="text/html; charset=utf-8" />
to bypass Apache settings and to help browsers auto-detect the encoding if the worst happens (the pages are forcedly served with the wrong encoding)
 
Top