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