xml sonderzeichen trotz umwandlung => problem

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

  • xml sonderzeichen trotz umwandlung => problem

    Hey Leute,
    Ich spiel seid einiger Zeit mit xml rum, und habe jetzt ein Problem beim abspeichern eines neuen Eintrags per php. Ich beschreibe mal die wichtigsten Schritte der Reihe nach, und komm am Ende zum Problem. Als Beispiel-String hab ich ma "<p>Über alle Hügel und Käffer</p>" genommen:
    Text wird empfangen:
    PHP-Code:
    $content htmlentities(stripslashes($_POST['content'])); //&lt;p&gt;&Uuml;ber alle H&uuml;gel und K&auml;ffer&lt;/p&gt; 
    Text wird(mit weiteren Daten) in einen string geschrieben:
    PHP-Code:
    $newxml = (
    "<?xml version='1.0' encoding='UTF-8' ?> 
        \n<notes>
            <title>$title</title>
            <content>$content</content>
            <timestamp>$timestamp</timestamp>
            <category>$category</category>
        </notes>\n
    "); 
    // <?xml version='1.0' encoding='UTF-8' ?> 
    //  <notes>
    //    <title>test</title>
    //    <content>&lt;p&gt;&Uuml;ber alle H&uuml;gel und K&auml;ffer&lt;/p&gt;</content>
    //    <timestamp>1195675391</timestamp>
    //    <category>Sonstiges</category>
    //  </notes>

    Nun wird erst mal alles in utf-8 encodet:
    PHP-Code:
    $newxml utf8_encode($newxml); 
    String wird ins Objekt geladen:
    PHP-Code:
    $new DOMDocument::loadXML($newxml);  // load new entry 
    So, und an dieser Stelle mekert er jetzt, wenn ichs später durchlaufen lasse, und kommt mit folgender Fehlermeldung:
    Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Entity 'Uuml' not defined in Entity

    Und ich hab keine Ahnung wieso der des macht. Vorher hatte ich den content in <![CDATA[ ... ]]> gestellt, da gings reibungslos, aber das musste ich jetzt aus anderen Gründen aufgeben.
    Hab erst gedacht, dass des vll was mit dem utf8_encode() ding zu tun hat, hab dann allerdings festgestellt, dass man da auch utf8_decode hinschreiben, bzw es auch einfach weglassen kann, und das nix am Ergebnis, nämlich der Fehlermeldung, ändert (also die bleibt völlig gleich)
    Ich hoffe ihr könnt mir helfen =)
    Gruß, ChriS.

  • #2
    Ok, ich glaub ich habs mir selber beantwortet: http://de.selfhtml.org/inter/zeichenkodierungen.htm
    Also ich glaub zumindest dass das die Antwort dafür ist^^
    Gruß, ChriS.

    Kommentar


    • #3
      Entweder wandelst du auch nur die XML-Entitäten <>&" um und lässt die Umlaute, wie sie sind, oder du lädst deinen Inhalt per loadHTML, das sollte dann gehen. Besser ist aber die erste Alternative. Lösung ist htmlspecialchars statt htmlentities.

      Kommentar


      • #4
        Ok, gut, dankeschön =)

        Kommentar

        Lädt...
        X