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