MIME::Base64::encode a UTF-8

Aben Siatris aben na webcom.sk
Úterý Září 6 16:54:36 MEST 2005


Dňa Utorok 06 September 2005 15:28 Honza Pazdziora napísal:
> On Tue, Sep 06, 2005 at 03:18:31PM +0200, Aben Siatris wrote:
> > > nikoli kodu.
> > 
> > nie tak som myslel, ale v tej casti kodu kazda novo vytvorena premmenna
> > je brana ako utf8.
> 
> 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;"


> > > > znova pisat "use open ':utf8', ':std'", inak mi dochadza pri STDOUT k "Wide character..."
> > > 
> > > Netusim, co je require "script.pm" ...
> > 
> > tym ze natiahnem do scriptu cast ineho kodu v ktorom su IO operacie ale na tie sa
> > uz use open ':utf8' zrazu nevztahuje.
> 
> 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;

require "test.pl"

v ktorom je:

package test;
use encoding 'utf8';
use utf8;

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
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.



Další informace o konferenci Perl