[LUGA] Mit freundlicher Unterstützung von:
OCG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [luga] Perl UTF8 und LDIF (lang und eigentlich OT)



On 2007-03-01 11:52:20 +0000, Goesta Smekal wrote:
> Am 28.2.2007 schrieb "Peter J. Holzer" <hjp-luga@hjp.at>:
> >Wenn Du utf-8 willst, musst Du explizit encode aufrufen, so wie Du es
> >oben gemacht hast.
> >
> >while (<>) {
> >    $_=decode("iso-8859-1", $_);
> >    $_=encode("utf-8", $_);
> >    print MIME::Base64::encode($_);
> >}
> 
> Ok. Das ergibt jetzt natürlich einen gewissen Sinn im obengenannten
> Zusammenhang. Ich bin fälschlich davon ausgegangen, dass Perl sich
> selbst um Unicode kümmert, habe aber übersehen, dass Unicode != UTF-8
> und gehofft "use encoding 'utf8';" würde helfen. Da lese ich noch
> Doku nach ;-)

Nein, das macht nur ein implizites decode auf den Source-Code und fügt
entsprechende IO-Filter für STDIN und STDOUT (warum eigentlich nicht
auch STDERR?) ein. Um Konvertierungen innerhalb des Programms musst Du
Dich selber kümmern. 

(Das use encoding 'utf8' habe ich übrigens übersehen. Das bewirkt ein
implizites (über den PerlIO-Layer) decode("utf-8", $_), somit ist der
Anfang der Schleife äquivalent zu:

binmode STDIN;

while (<>) {
       $_=decode("utf-8", $_);
       $_=decode("iso-8859-1", $_);

woran man natürlich sieht, dass das decode("iso-8859-1", $_) nicht ganz
koscher ist.

	hp

-- 
   _  | Peter J. Holzer    | Ich sehe nun ein, dass Computer wenig
|_|_) | Sysadmin WSR       | geeignet sind, um sich was zu merken.
| |   | hjp@hjp.at         |
__/   | http://www.hjp.at/ |	-- Holger Lembke in dan-am

Attachment: signature.asc
Description: Digital signature



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010