SimpleXML mit WINDOWS-1252 Problem

lerel

Grünschnabel
Hallo,

ich habe ein schwerwiegendes Problem mit SimpleXML.

Und zwar lade ich eine XML Datei, mit dem Content-Type Windows-1252.

Die PHP Datei wird ebenfalls mit dem Content-Type Windows-1252 aufgerufen.

Jedoch werden die Umlaute nicht korrekt dargestellt und ein Zeichen Chaos erzeugt...

Der PHP Code, sieht wie folgt aus:

PHP:
<?php
header("Content-type: text/html; charset=windows-1252");

$xml = simplexml_load_file('daten.xml');

echo "<pre>";
print_r($xml);
echo "</pre>";
?>

Der Anfang der XML Datei wie folgt:

Code:
<?xml version="1.0" encoding="Windows-1252"?>

Wenn ich das ganze auf UTF-8 umstelle funktioniert es einwandfrei, kann ich jedoch aufgrund dessen nicht, dass die Daten in ein CMS eingepflegt werden sollen, das mit Windows-1252 arbeitet.

Arbeitet SimpleXML nur mit UTF-8 ?

Kann ich das irgendwie umstellen?

Die Dateien sind alle mit Windows-1252 erstellt...

Grüße
Micha
 
Eigentlich sollte es keine Probleme geben, wenn die Daten tatsächlich mit Windows 1252 kodiert sind. Und genau das bezweifle ich in deinem Fall.
 
Also die Daten sind 100%ig mit Windows-1252 kodiert, die Daten kommen von einem Partnerprogramm, der Anbieter hat es mir zugesichert und wenn ich die XML Datei im Zend Studio mit der Voreinstellung UTF-8 öffne tauchen dort nur Fehler auf...

Ich habe immer noch die Vermutung das es vllt. mit dem SimpleXML irgendwie zusammen hängt, in der PHP Hilfe konnte ich jedoch nichts finden....

Ich wäre sehr dankbar über Tips :confused:
 
Ich habe das Problem gefunden, es liegt an SimpleXML, siehe Aussage eines Users in den Comments zur simplexml_load_file Funktion:

simplexml_load_file creates an xml-tree with values that are UTF-8 strings. To convert them to the more common encoding
ISO-8859-1 (Latin-1), use "utf8_decode".

Ich habe es jetzt auch an einigen XML Elementen getestet und es funktioniert einwandfrei, wenn ich die Daten vorher mit utf8_decode in meine Formatierung bringe...
 
Zurück