Ich arbeite an einem Projekt in flex 3
bei dem der Benutzer einen Text eingibt, der in einem mysql
Datenbank gespeichert und später angezeigt. Ich verwende XML
für den Datentransfer von flex zu php und umgekehrt. SimpleXMLElement
en php
wird verwendet, um die XML
. Das Problem ist die XML
Unterbrechungen bei Sonderzeichen.
Hier ein Beispielcode:
FLEX:
var someXML:XML = <root><data>somedata</data><data>...</data> ... </root>
var data:Object = {};
data.xmlData = someXML;
saveDataService.send(data);
Hier somedata
sind die vom Benutzer eingegebenen Daten. Unter php
extrahiere ich die someXML
mit SimpleXMLElement
und speichern sie in mysql
. Bis hierher gibt es kein Problem. Auch wenn somedata
Sonderzeichen enthält, funktioniert es einwandfrei und die Daten werden ordnungsgemäß gespeichert.
Nun, im anderen Fall, immer Daten aus der Datenbank und zeigt in flex, die Antwort von der php bricht mit einem Fehler:
SimpleXMLElement::addChild() [simplexmlelement.addchild]: unterminierte Entitätsreferenz
Ich habe es mit urlencode
in php, und decodeURI
Funktion in flex, aber die dekodierte Zeichenkette ist nicht die gleiche, einige Sonderzeichen sind noch %xy
nach der Dekodierung.
Wie kann ich dieses Problem lösen?