dedlfix: Führt eine datei.txt die Zeichencodierung (z.B. UTF8) mit?

Beitrag lesen

Tach!

Kann eine pure Textdatei per PHP ein UTF8-Etikett bekommen? Mein Editor Geany kennt die Funktion Dokument > Unicode BOM schreiben. Habe ich angewendet, datei.txt wieder hochgeladen und nun kennt der FF auch die Umlaute, wenn sie vom Server kommen.

Mehr als die BOM gibt es nicht. Zur Kodierung von Textdateien werden in den Dateisystemen keine Metadaten gespeichert. Und es gibt auch keinen systemübergreifenden Mechanismus, sie dem Empfänger mitzuteilen.

Im Falle von HTTP allerdings gibt es den Content-Type-Header und der kennt auch ein (optionales) charset-Attribut. Wenn dein Server also dieses Attribut mitgibt, kann der Empfänger auch ohne BOM den Inhalt richtig interpretieren.

Wird dieser BOMmel auch von anderen Umgebungen, z.B. Javascript akzeptiert?

Eine BOM wird bei UTF-8 nicht benötigt, weil hier die Bytereihenfolge festgelegt ist. Sie dient damit lediglich als Indikator, dass es sich um UTF-8 handelt. Die BOM ist ansonsten ein Teil des Unicode-Standards, und immer mehr Systeme erkennen sie. Garantiert ist das allerdings nicht.

dedlfix.