perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 33
Click for quality!




11.02.2012 / 17:20

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragUmlaute...Encoding Probleme mit XML::DOM::XPath oder bug?
Seitenanfang
Hallo Geeks und Freaks :-)

Ich hätte da ne Frage bezüglich XML::DOM::XPath (modul version 1.27) die mich langsam schon zum Wahnsinn treibt :-)
Die Frage betrifft die 2 Funktionen findvalue und findnodes_as_string.
Im Prinzip geht es um eine XML Datei deren Inhalt ich in einem Hash (%table_meldungen) speichere.....mit body, titel usw. als key und als value eben den Content von dem Jeweiligen html-Tag
z.B bei <Titel><p>blahblah</p></Titel>
speichere ich als key Titel und als value eben das <p>blahblah</p>

Bei der Speicherung in den hash tue ich alles bis auf body (da liegt auch das Problem) mit der Funktion findvalue und den Rückgabewert mit decode_entities Speichern (siehe unten)....
den value von body behandle ich aber mit der Funktion findnodes_as_string weil ich die html tags des values auch speichern will (zwecks Formatierung)...
Dabei sind die umlaute z.B. das ä wie folgt im xml codiert: ü
Komisch ist, dass die Funktion findvalue mir bei ü korrekt das ä darstellt, jedoch bei findnodes_as_string total komische Zeichen enstehen....
Ich habe das ganze auch schon ohne decode_entities probiert -> mit dem selben resultat....
tatsache ist, dass wenn ich den body teil auch mit findvalue behandle, die umlaute vollkommen korrekt dargestellt werden.....

Was macht findnodes_as_string anders als findvalue????
Kann es sein, dass es einen Parameter gibt um findnodes_as_string mit dem selben encoding aufzurufen wie findvalue ?

#diese Variante haut mir die umlaute zusammen
$table_meldungen{'body'}=decode_entities($document->findnodes_as_string('/BODY/TEXT'));
#diese Variante stellt die Umlaute korrekt dar....
$table_meldungen{'body'}=decode_entities($document->findvalue('/BODY/TEXT'));

Würde mich über jede Hilfe sehr freuen....bin schon am Rande des Wahnsinns......

Danke im Voraus.....

lg

Datum: 23.05.2005-12:56

-






-
-