XML: Not well formed - Dank encoding?

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

  • XML: Not well formed - Dank encoding?

    Hey ihr Leute!
    Ich bin gerade dabei, einem grundsätzlichem Problem bei einem selbstgeschriebenen XML-Parser auf den Grund zu gehen.

    Der Ausgangsstand: Eine XML-Datei wird auf den Server hochgeladen & dort mit einem XML-Parser weiter verarbeitet.

    Das Problem: Umlaute werden nicht übernommen. Sprich das Wort bricht an Stelle des Umlautes einfach ab.

    So. Habe mich natürlich umfassend über Encoding von XML-Dateien usw usw informiert. Hier meine Schritte zum Nachverfolgen:

    Datei mit Notepad++ selbstgeschrieben.
    Je nach Einstellung in Notepad treten verschiedene Fehler auf:

    Kodierung: ANSI -> Umlaute werden abgeschnitten oder als merkwürdige Sonderzeichen angezeigt ODER: invalid character..
    Kodierung: UTF-8 -> Parser zeigt folgendes an: "XML error: Not well-formed (invalid token) at line 2"

    Hier die XML-Datei (auf das Nötigste beschränkt): Paste2: Next Generation Pastebin - Viewing Paste 1214460

    Außerdem ist der Parser (korrekt) auf UTF-8 gestellt:
    PHP-Code:
    xml_parser_set_option($xml_parser,XML_OPTION_TARGET_ENCODING"UTF-8"); 
    utf8_decode() habe ich auch an der richtigen Stelle angewandt. Und bei Debug-Ausgaben im Browser auch auf Output-Encoding UTF-8 gestellt.

    Das ganze Thema hängt mir so zum Hals raus.. und ich bin dieses dauernde rumprobieren mit Encoding, und utf8_decode weglassen so satt.

    Zwischendurch hat's einmal funktioniert OHNE utf8_decode() und soweit ich weiß ANSI-Kodierung.. daraufhin hatte aber die Datei selbst im Notepad++ Sonderzeichenmüll anstatt der Umlaute (macht ja sinn bei ANSI) und ich hab sie wieder durch äöü usw ersetzt und --> ES GEHT WIEDER NICHT !!


    AAAHH Ich werde wahnsinnig! Helft mir!

    LG

  • #2
    Es fehlt die XML-Deklaration. Hier wird die Version und die Kodierung angegeben.

    Warum verwendest du eigentlich nicht DOMDocument oder SimpleXML? Der XML Parser ist ja schon uralt.
    Zuletzt geändert von h3ll; 27.01.2011, 16:42.

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      Es fehlt die XML-Deklaration. Hier wird die Version und die Kodierung angegeben.

      Warum verwendest du eigentlich nicht DOMDocument oder SimpleXML? Der XML Parser ist ja schon uralt.
      Argh! Doch die sind dabei. Hat der Pastebin nur irgendwie entfernt - Komisch.

      Ehm das ist ein selbstgeschriebener Parser, der mir das ganze wunderbar als speziell formatiertes Array rausgibt. Ich werds mal probieren!

      Kommentar


      • #4
        Zitat von micronax Beitrag anzeigen
        Ehm das ist ein selbstgeschriebener Parser, der mir das ganze wunderbar als speziell formatiertes Array rausgibt.
        Dann würde ich den Fehler in diesem selbstgeschriebenen Parser vermuten. Aber es gibt eigentlich keinen Grund einen XML-Parser selber zu schreiben, weil PHP selber schon genug im Angebot hat, die sicher deutlich performanter arbeiten.

        Kommentar

        Lädt...
        X