XML::Parser vs. UTF-8
Jiri Polcar
polcar na physics.muni.cz
Pondělí Září 30 16:06:59 MEST 2002
On Mon, Sep 30, 2002 at 03:54:44PM +0200, Honza Pazdziora wrote:
> On Mon, Sep 30, 2002 at 03:42:02PM +0200, Jiri Polcar wrote:
> >
> > Jedno? Prevadi-li prece z jedne znakove sady do druhe (UTF-8), musi o
> > obou vedet, ne?
>
> Ale perl neprevadi (alespon ne v 5.6.*). Ten prevod dela XML::Parser
> na zaklade informace v tom XML, nikoli perl.
>
> > 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.
>
> Ale Dumper vraci to, co je v tech datech, ne?
Vraci. K cemu patrne dojde je to, ze retezec co vrazi, uz pro Perl neni
v UTF-8 (i kdyz je to tataz posloupnous bytu -- vetsinou, Dumper
pouzivam kvuli apostrovum a podobne). Resp. Perl strati informaci o tom,
ze retezec byl v UTF-8. Protoze pak spojuji retezce, ktere Dumperem
prosli a ktere neprosli, dojde k tomu, ze prosle retezce Perl (nebo
nekdo jinej) prevede znovu do UTF-8, comz vzikne zmatek.
Reseni je, bud' filtrovat Dumperem vse, nebo pouzit "use bytes;"
>
> > 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.
>
> Man perlunicode a man utf8, rekl bych. Perl nepracuje se znakovymi
> sadami, jedine, co umi, je mit unicodove retezce. Cili uchovava puze
> tu informaci "je utf8/neni utf8".
>
> > Pridam-li do sveho skriptu (co jsem posilal) "use utf8;", na jeho
> > chovani (navenek) se nic nezmeni.
>
> Jak pisi, nemam moznost overit.
>
> --
> ------------------------------------------------------------------------
> Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
> ... all of these signs saying sorry but we're closed ...
> ------------------------------------------------------------------------
--
JP
Další informace o konferenci Perl