APM: dotaz :: XML
Jenda Krynicky
Jenda at Krynicky.cz
Fri Jan 30 07:40:09 CST 2004
From: "M. Remis" <jms at ok.cz>
> v prost edí Win pou ívám modul XML::Simple pro tení jednoduch ch XML
> soubor , které jsou ulo eny v kódování CP1250, tzn. ka d soubor za
> íná deklarací
>
> <?xml version="1.0" encoding="windows-1250"?>
>
> data, tj. et zce, které modul 'vrací' jsou v ak (pravd podobn ) v
> jiném kódování (asi e UTF-8); pot eboval bych 'cestou nejmen ího
> odporu' zajistit, abych data/ et zce 'dostal' v tom/stejném kódování,
> v jakém byla zapsána (tzn. ani bych je musel explicitn p evád t) ???
> e ením by mo ná bylo upravit tabulku WINDOWS-1250.ENC (tj. tak, aby
> ani znaky z horní poloviny tabulky nebyly p ekódovávány) - nevíte n
> kdo o 'elegantn j ím' e ení ...
Jo to by se mi taky libilo. Ale nejde to. Pani puristi jsou toho
nazoru ze vsechno musi byt cunikode.
Takze neexistuje jina moznost, nez si to vsechno zase pekne
prekonvertovat zpatky. Rekl bych ze asi nejjednodussi bude splodit
funkci ktera si projde tu strukturu vracenou XML::Simplem a
prekonverti veskery obsah.
Neco jako:
use Encode;
sub deUTFstruct {
if (!ref $_[0]) {
$_[0] = encode("cp1250", $_[0]);
} elsif (ref $_[0] eq 'ARRAY') {
foreach (@{$_[0]}) {
deUTFstruct( $_)
}
} elsif (ref $_[0] eq 'HASH') {
foreach (values %{$_[0]}) {
deUTFstruct( $_)
}
}
}
Jenda
===== Jenda at Krynicky.cz === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery
---------------------------------------------------------------------
To unsubscribe send a mail to majordomo at hfb.pm.org
with command "unsubscribe prague-pm" in the message body.
More information about the Prague-pm
mailing list