MIME::Base64::encode a UTF-8
Aben Siatris
aben na webcom.sk
Středa Září 7 09:19:28 MEST 2005
Dňa Utorok 06 September 2005 17:38 Honza Pazdziora napísal:
> > 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 je sice pravda, ale mimo bloku utf8 a to je podstatne.
jednoduchy test vychadzajuci z vasho kodu.
#!/usr/bin/perl
my $x = 'křížala';
use utf8;
my $y = 'křížala';
if (utf8::is_utf8($x))
{
print "x je utf8\n";
}
if (utf8::is_utf8($y))
{
print "y je utf8\n";
}
> > > 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 ...
dokaz o opaku:
subor test.pl
#!/usr/bin/perl
use utf8;
#use encoding 'utf8';
require "test.pm";
my $x = 'křížala';
if (utf8::is_utf8($x)){print "x je utf8\n";}
test::echoutf8($x);
subor test.pm
#!/usr/bin/perl
package test;
sub echoutf8
{
print shift;
}
a potom skuste s odkomentovanim "use encoding 'utf8';"
> > 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").
ano, use encoding a use utf8 uz netreba nikde pisat znova, chape sa na
cely script
Další informace o konferenci Perl