Chyba 'Wide character in print' pri pouziti XML::Parser
Pavel Smerk
xsmerk na informatics.muni.cz
Čtvrtek Červen 12 14:43:08 MEST 2003
On Thu, Jun 12, 2003 at 01:36:41PM +0200, Honza Pazdziora wrote:
> On Thu, Jun 12, 2003 at 01:13:17PM +0200, Pavel Smerk wrote:
> > Deje se mi nasledujici:
> >
> > [...]$ cat z.xml
> > <test>Ń</test>
> > [...]$ cat z.pl
> > #!/usr/bin/perl -w
> >
> > use strict;
> > use XML::Parser;
> >
> > my $parser = new XML::Parser(Handlers => {Char => sub { print "$_[1]\n" }});
> > $parser->parse(*STDIN, ProtocolEncoding => 'UTF-8');
> > [...]$ ./z.pl < z.xml
> > Wide character in print at ./z.pl line 6.
> > Ń
> > [...]$ perl -pe 's/<[^>]*>//g;' < z.xml
> > Ń
> > [...]$
> >
> > Pokud by se to nahodou nepreneslo korektne, v tom XML je dvojice znaku
> > \xd1\x9b cili v utf8 jakysi paznak z cyrilice s cislem 045b, ovsem o
> > konkretni znak nejde.
> >
> > Neni mi jasne, proc se mi vypisuje pri pouziti XML::Parseru chybova hlaska,
> > co delam spatne a jak to spravit.
>
> Naucime se dneska novou option: -Mdiagnostics, nebo taky v tele
> skriptu
> use diagnostics.
Jo, to je rozumna pripominka. ;-)
> Byt Tebou, tak si ujasnim, v jakych znakovych sadach chces mit
> jednotliva data, jednotliva zpracovani a jednotlive filehandly, jestli
> tomu co chces odpovida to co mas, a to vcetne takovych veci jako
> locales.
No, uplne hlavne budu muset cist dokumentaci ke stejne verzi Perlu, kterou
pouzivam, pac koukam, ze se to hrozne rychle meni... ;-)
Presto diky, P.
Další informace o konferenci Perl