in reply to XML::Simple and encoding

Hi Girzi,

How about using Unicode::Map?

With it, you can convert the input from utf-8 to utf-16, then perform the XMLin call, and then convert back to utf-8 afterwards (if need be).

For example:

use strict; use warnings; use Unicode::Map(); use XML::Simple; my $string = '<eleve nom="qsdqsd" prenom="Raphaël" classe="Seconde L" +adresse="Léon Bourgain" code_postal="3423" ville="machin" pays="Franc +e" telephone="3421434" />'; # Convert to utf-16 my $map = new Unicode::Map("ISO-8859-1"); my $utf16 = $map->to_unicode($string); # Recommended to call XMLin using 'eval', to trap errors my $ref = eval { XMLin($utf16) }; $@ and die "An error occurred in XMLin: '$@'\n"; # Now you can use '$ref' ... my $out = XMLout($ref); print "XMLout => '$out'\n";

If necessary, when you use the resulting "$ref", you can convert it back to utf-8 with the from_unicode() method of Unicode::Map.


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

Replies are listed 'Best First'.
Re^2: XML::Simple and encoding
by Anonymous Monk on Dec 31, 2006 at 00:01 UTC
    Thank you for help ! It works ;) print "Thank you Very Much " x 1000;