Hallo liebe Leute,
eine Perl-Applikation bekommt via XML ihre Daten und legt diese nach einigem Tun hinten in einer DB ab. Kennen wir ja soweit. Die DB und das was noch weiter dahinter kommt sprechen nur latin1 (ISO-8859-1). Das war schon lange so und ging auch sehr gut bisher. Nun und neuerding sieht der Erzeuger des XML sich ausserstande die bisher vorgenommene Ersetzung von zB. zu EUR weiterhin durchzuführen und schickt mir nicht-latin1 Zeichen ungefiltert. Diese fallen bei der Verarbeitung und Speicherung in der DB dann einfach hinten runter. Das ist schlecht.
Bisher dekodiere ich die die Texte mit:
use Unicode::MapUTF8 qw(from_utf8); from_utf8({ -string=>$value, -charset => 'ISO-8859-1'});
Wie stelle ich es nun am Besten an, dass alle nicht-latin1-Zeichen in ihren numerischen Entitäten gewandelt werden - und somit spannungsfrei weiterverarbeitet werden können?
Mit freundlichen Grüßen
Jens Puruckherr
Quoting Jens Puruckherr jpuruckherr@cyberport.de:
Hi,
Wie stelle ich es nun am Besten an, dass alle nicht-latin1-Zeichen in ihren numerischen Entitäten gewandelt werden - und somit spannungsfrei weiterverarbeitet werden können?
ist jetzt etwas ungetestet, aber vielleicht mittels:
HTML::Entites::encode_entities($utf_string)
Viele Grüße Marcus
lug-dd@mailman.schlittermann.de