PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webseiten in UTF-8 ausliefern - wie Dateien ohne BOM erzeugen?



PuppetMaster
07.02.2006, 16:43
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
07.02.2006, 17:03
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 header('Content-Type: text/html; charset=utf-8'); ?>
and

<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)

PuppetMaster
07.02.2006, 17:05
The BOF format is called "UTF-8", and the non-BOF is called "UTF-8 cookie".

Aha, dann muss ich als "UTF-8 cookie" speichern. Vielen Dank!
Fragt sich nur, was diese Bezeichnung "cookie" bedeutet...