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