dedlfix: UTF-8-kodierte XML-Dokumente verarbeiten

Beitrag lesen

echo $begrüßung;

Genau. Ich lese die XML Datei mit file() in ein Array aus und dann wird lustig formatiert. Danach wird in die txt Datei geschrieben, die ich mit fopen(datei.txt) erstelle.
Wie kann ich da zur Zeichenkodierung was mit auf den Weg geben? Oder müßte ich noch nen Zwischenschritt machen?

Es gibt keine allgemeine Möglichkeit, die Zeichenkodierung einer Datei anzugeben. Damals, als Dateien erfunden wurden, hat anscheinend niemand dran gedacht, dass das mal wichtig sein könnte.

Du hast nun ein paar Möglichkeiten zur Auswahl:

  • Du weißt, dass die Datei UTF-8-kodiert ist und öffnest sie nur in solchen Editoren, die dessen mächtig sind, wobei man bei denen oftmals beim Öffnen angeben muss, welche Kodierung vorliegt.
  • Du stellst eine UTF-8-BOM voran und verwendest einen Editor, der diese erkennt und die Datei automatisch als UTF-8 interpretiert.
  • Du wandelst die Kodierung in ISO 8859-1 oder -15 oder Windows-1252 (die sind für das westliche Mitteleuropa zugeschnitten und recht verbreitet), wobei allerdings Zeichen verloren gehen, die damit nicht darstellbar sind. Für die UTF-8-nach-ISO-8859-1-Wandlung bietet PHP die Funktion utf8_decode() an.

echo "$verabschiedung $name";