MIME::Base64::encode a UTF-8
Honza Pazdziora
adelton na fi.muni.cz
Úterý Září 6 17:38:58 MEST 2005
On Tue, Sep 06, 2005 at 04:54:36PM +0200, Aben Siatris wrote:
> > Ne, neni pravda.
> >
> > $ perl
> > my $x = 'křížala';
> > use utf8;
> > my $y = $x;
> > if (utf8::is_utf8($y)) {
> > print "je utf8\n";
> > }
> > __END__
> > $ perl
> >
> > Jak uz jsem byl psal, use utf8 nema zadny vliv na promenne, ci
> > chapani promennych, ci cokoli podobneho. Jedine, na co to ma vliv,
> > je chapani literalnich retezcu ve zdrojovem textu.
>
> no iste ked davate to "use utf8;" az ked mate vytvorenu premennu.
> hovoril som o kazdej novej vytvorenej premennej v tej casti kodu v ktorej plati
> "use utf8;"
Promenna $y je definovana az pote, co zacne platit use utf8.
> > To, ze nekde udelate nejake require, prece name vliv na to, jaka je
> > nastavena I/O vrstva na filehandlu ...
>
> faktom ale je ze pokial mam script
> main.pl v ktorom je:
>
> use encoding 'utf8';
> use open ':utf8';
> use utf8;
... use encoding 'utf8' a use utf8 jedno jsou ...
> require "test.pl"
>
> v ktorom je:
>
> package test;
> use encoding 'utf8';
> use utf8;
Tohle je zde uplne nepodstatne, protoze v tom kodu neni zadny literal
(pominu-li to ">test").
> sub writeutf8
> {
> open(HND,">test");
> print HND shift;
> close(HND);
> }
>
> tak z main.pl funkcia test::writeutf8 zlyha s Wide character.
> nepomoze exitencia "use open ':utf8';" v main.pl, musi byt i
No jiste, protoze v main.pl se zadny novy handle neotvira.
> v test.pl o tom hovorim. teda ak ma projekt ktory ma XY roznych
> kniznic ktore pracuju s IO filehandlermi, tak to musim pisat vsade.
> toto som myslel.
Nejjednodussi je tem modulum predavat uz otevrene filehandly,
nastavene tak, jak si oteviratel pral.
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
Only self-confident people can be simple.
Další informace o konferenci Perl