PHP5 und XML: Sonderzeichen

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

  • PHP5 und XML: Sonderzeichen

    Hallo,
    Ich bin neu hier und hoffe auf eure Hilfe.
    Ich habe eine XML-Datei, die in UTF-8 codiert ist und entsprechend codierte Sonderzeichen enthält.

    Die XML-Datei sieht wie folgt aus:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <mein-document>
    gegenüber – (Gedankenstrich)
    </mein-document>
    Ich lese die Datei in mein PHP-Script ein und verwende folgende Befehle zum parsen:

    PHP-Code:
    $xml_parser_handle xml_parser_create("UTF-8");
    xml_parser_set_option($xml_parser_handleXML_OPTION_TARGET_ENCODING"UTF-8");
    xml_set_character_data_handler($xml_parser_handle"zeigeDaten");
    xml_set_element_handler($xml_parser_handle"startTag""endTag");
    xml_parse($xml_parser_handle$xml_data);
    xml_parser_free($xml_parser_handle); 
    Werden die geparsten Daten nun in einer mySQL-Datenbank (Felder sind utf8_general_ci codiert) gespeichert. Rufe ich die Daten nun ab und lasse sie auf einer xHTML-Seite darstellen, so werden (wie zu erwarten) die codierten Sonderzeichen angezeigt, also das unverständliche zeugs.
    Deklarationen der xHTML-Datei:

    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    Wende ich nun aber vor dem Ablegen der Daten in der Datenbank ein utf8_decode(meine_geparsten_xml_daten) an, so werden die Umlaute korrekt in der DB abgelegt und hinterher auf der Seite angezeigt. Einige andere Sonderzeichen, wie z.B. ein spezieller Gedankenstrich, Anführungszeichen unten, usw. machen Probleme, an deren stelle steht einfach ein Fragezeichen.

    Um die Verwirrung nun komplett zu machen. Wenn ich die XML-Datei, also die Datei die ich als Input-Datei für mein PHP-Script verwende, direkt im IE5 öffne, wird alles "richtig" dargestellt. Habe dann die komplette Dokumentstruktur und der Text zwischendrinn wird samt Sonderzeichen richtig angezeigt.

    Was mache ich falsch?

    Vielen Dank schonmal im voraus.
    Zuletzt geändert von Falkone; 20.11.2005, 22:28.

  • #2
    Re: PHP5 und XML: Sonderzeichen

    Hast du wirklich überall UTF-8 verwendet ...?
    Z.B. auch bei den Response Headern, mit denen du die XHTML-Datei auslieferst?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X