xml sonderzeichen trotz umwandlung => problem
Einklappen
X
-
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.
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
-
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'])); //<p>Über alle Hügel und Käffer</p>
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><p>Über alle Hügel und Käffer</p></content>
// <timestamp>1195675391</timestamp>
// <category>Sonstiges</category>
// </notes>
Nun wird erst mal alles in utf-8 encodet:
PHP-Code:$newxml = utf8_encode($newxml);
PHP-Code:$new = DOMDocument::loadXML($newxml); // load new entry
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.Stichworte: -
Einen Kommentar schreiben: