[LUGA] Mit freundlicher Unterstützung von:
init.at

Mail Thread Index


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

Re: [luga] Perl UTF8 nochmal ...



Am 3.3.2007 schrieb "Peter J. Holzer" <hjp-luga@hjp.at>:

>> Woher kommen jetzt die vier Byte "c3 83 c2 b2" ?
>                                             ^^
>					     bc
>
>Double encoding: Du kodierst einmal explizit im Programm:
>
>>       print "$fieldname[$c]:: ".encode("utf8", $val); # zur Kontrolle
>
>und dann implizit noch einmal bei der Ausgabe:
>
>> binmode(STDOUT, ":utf8");
>
>Dadurch wird aus "...m\x{FC}l..." zuerst "...m\x{C3}\x{BC}l..." und dann
>"...m\x{C3}\x{83}\x{C2}\x{BC}l...".

Ok. Du hast natürlich Recht. "Auf Nummer sicher" ist in diesem Fall die
falsche Strategie ;-) (das nächste Mal verwende ich wieder den
Perl-Debugger statt selbstgezimmerten Debugzeilen ...)

Ich habe mir auch noch eine Zeile aus der LDIF-Datei näher angesehen:

agentasrv2:~/setup/scripts# echo "RGlldHJpY2ggSsO8cmdlbg=="
|base64-decode |hd
00000000  44 69 65 74 72 69 63 68  20 4a c3 bc 72 67 65 6e  |Dietrich
J..rgen|

und das schaut ja eigentlich in Ordnung aus. Slapadd nimmt das LDIF immer
noch nicht an (andere Base64 codierte Zeilen, z.B. mit einem "&" drin,
aber schon), das ist jetzt aber wirklich eine Sache für die LDAP Doku.
Obwohl ich "man ldif" und RFC 2849 jetzt schon bald unter der Dusche
rezitieren kann ...

  Danke für die Hilfe,

  Goesta - der sich hier wieder mal latent blamiert hat


--
#!/usr/bin/perl
foreach $c (split(/ /,"47 6f 65 73 74 61 20 53 6d 65 6b 61 6c 0d 0a")) {
print pack("C", hex($c));}



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