XML::Parser vs. UTF-8
Jiri Polcar
polcar na physics.muni.cz
Pondělí Září 30 15:40:52 MEST 2002
On Mon, Sep 30, 2002 at 03:16:41PM +0200, Honza Pazdziora wrote:
> On Mon, Sep 30, 2002 at 03:03:33PM +0200, Jiri Polcar wrote:
> >
> > 1) Jak Perl vi, v jakem kodovani jsou textove retezce pouzite primo ve
> > skriptu.
>
> Rekl bych, ze je mu to jedno.
>
Jedno? Prevadi-li prece z jedne znakove sady do druhe (UTF-8), musi o
obou vedet, ne?
> > 2) Kde je ulozena informace o kodovani dane textove promenne? Je vubec
> > nekde ulozena?
>
> U hodnoty je v jeji vnitrni reprezentaci uvedeno, jestli je v utf8
> nebo jako posloupnost bajtu (jednobajtovych znaku).
Vida. Mohu tuhle informaci menit? Stacilo, ze bych Perlu rekl, ze to co
vraci Dumper je v UTF-8, cimz bych ho vratil do reality a vse by bylo
OK. Tady bude asi zakopan psik.
>
> > 3) Lze nejak menit kodovani, ve kterem Perl pracuje?
>
> Co presne mate na mysli?
>
No, myslel jsem ze Perl uchovava informaci o kodovani retezce a ne jen
jestli je UTF-8 a nebo neni. Pak bych mohl chtit, aby se choval k jinemu
kodovani tak, jako ted k UTF-8. ( Napriklad pri slouceni dvou retrzcu v
ruznych kodovanich by vracel vysledek v tom, co bych zmenil). To by
ovsem melo jista uskali, protoze jednotliva kodovani nejsou bijektivni.
Zapomente na to.
>
> > 4) Jak mam vyresit svuj problem, tedy, jak mam Perlu rict, ze vse je v
> > UTF-8, at se "nestara"?
>
> use utf8, myslim.
Pridam-li do sveho skriptu (co jsem posilal) "use utf8;", na jeho
chovani (navenek) se nic nezmeni.
>
> > Prikladam testovaci skripticek. Cast __DATA__ obsahuje XML kod,
> > ktery obsahuje dva tagy: <tag1> a <tag2>. Oba obsahuji slovo "b\'yk".
> > Upozornuji na to proto, ze nevim co se s kodovanim po ceste stane.
>
> Nemam ted po ruce perl 5.6.*+, abych to mohl vyzkousel, ale
> XML::Parser vzdy vraci UTF-8 a vstupni znakovou sadu ridi vzdy
> podle encodingu uvedeneho v tom XML.
>
Ano, tak se to skutecne chova...
--
JP
Další informace o konferenci Perl