UTF 8 und SimpleXML

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • UTF 8 und SimpleXML

    Hallo ich habe ein kleines Problem - und zwar möchte ich mittels simplexml_load_file() ein XML File von einer fremden site laden - Dieses verwendet als Encoding utf-8:
    Code:
    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    In diesem XML File sind aber auch deutsche Texte mit ü, ä und anderen Sonderzeichen enthalten. Versuche ich nun diese Datei per simplexml_load_file() zu laden bekomme ich einen error:
    "Input is not proper UTF-8, indicate encoding"
    Ich hab mir das XML File mal geladen, auf meinen eigenen server gelegt und ISO Encode verwendet:
    Code:
    <?xml version='1.0' encoding='ISO-8859-15' standalone='yes'?>
    So gehts. Da ich aber das XML vom fremden server laden muss, habe ich natürlich kein Einfluss auf das XML File und kann so auch das Encoding nicht ändern.

    Liegt der Fehler bei mir oder beim Anbieter des XML Files?

    Danke für Eure Hilfe!

  • #2
    Wie wär's mit utf8encode($string) ?

    Kommentar


    • #3
      Wie soll das gehen - Ich verwende:
      PHP-Code:
      $xml simplexml_load_file("test.xml"); 
      test.xml soll die xml Datei sein.

      In dieser XML Datei steht in der ersten Zeile:
      Code:
      <?xml version='1.0' encoding='utf-8' standalone='yes'?>
      Versuche ich diese nun per simplexml_load_file zu öffnen kriege ich den Fehler:
      "Input is not proper UTF-8, indicate encoding"
      Grund dafür ist, dass sich in der XML Dateien Texte mit Sonderzeichen und Umlauten befinden.

      Vermutlich liegt der Fehler beim Anbieter der XML Datei - Ändere ich nämlich die erste Zeile zu:
      Code:
      <?xml version='1.0' encoding='ISO-8859-15' standalone='yes'?>
      Dann Funktioniert das ganze mit simplexml_load_file.

      Ich will jetzt nur wissen - Wenn die XML Datei auf einem fremden Server liegt und ich keinen Zugriff darauf habe (entsprechend das XML File nicht ändern kann), wie kann ich per Simple XML die Datei dennoch einlesen?
      Zuletzt geändert von CoS; 29.09.2006, 19:14.

      Kommentar


      • #4
        Original geschrieben von CoS
        Vermutlich liegt der Fehler beim Anbieter der XML Datei
        Dann bitte ihn doch, etwas vernünftiges zu liefern - statt dieses Unfugs.

        Ich will jetzt nur wissen - Wenn die XML Datei auf einem fremden Server liegt und ich keinen Zugriff darauf habe (entsprechend das XML File nicht ändern kann), wie kann ich per Simple XML die Datei dennoch einlesen?
        So oder ähnlich, wie Marcusson vorschlug, würde ich sagen ...

        Entweder Ressource in String einladen, in UTF-8 umwandeln und dann aus dem String SimpleXML-Objekt machen;
        Oder in String einlesen, und Encoding-Angabe im XML-Prolog austauschen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X