unicode (was Re: [Vienna-pm] Hash-Frage von extern)

Karlheinz Zoechling kh at dartbase.com
Tue Sep 28 13:32:27 CDT 2004


On Tue, 28 Sep 2004 14:09:37 +0200, peter pilsl wrote:

>HiHo,

Hola!

>Kennt sich hier in der Gruppe jemand halbwegs mit unicode aus?

bissi - halte mich allerdings nicht unbedingt fuer einen experten auf dem 
gebiet. ;-)

>Egal wie ich es mache, irgendetwas funktioniert nicht:
[..]
>verwende ich utf8::decode, dann spielt das lc() nicht mit bzw. macht 
>CGI.pm bei den sticky-outputs Problemen.

verwende nicht utf8::decode und encode. wirklich zielfuehrend zum hin-und-
her codieren ist nur

use Encode;

und 

Encode::from_to();

das bedeutet aber dass du das encoding deiner daten zu jeder zeit wissen 
musst - daher ist es am besten das hin-und-her-gecode generell zu vermeiden 
und ueberhaupt nur unicode zu verwenden.

das heisst:

alle deine html seiten muessen utf8 codiert sein. das muss auch so im http 
header stehen (oder zumindest im html <head> als meta http equiv). das gilt 
sowohl fuer die seiten mit den formularen als auch fuer die seiten die du 
rausschreibst.

wenn du dir einmal 100% sicher bist dass die daten die dein programm bekommt 
in utf8 codiert sind und perl das wirklich nicht mitbekommt dann kannst du 
versuchen das utf8 flag zu setzen:

utf8_on($wert);

achtung: das wandelt $wert nicht nach unicode um sondern veranlasst perl nur 
$wert als unicode zu betrachten! $wert muss schon korrekt unicode codiert 
sein.

schliesslich: welches perl verwendest du? ein aktuelles (5.8.5) ist dringend 
anzuraten, und mit 5.6 ist es ein ziemlich sinnloses unterfangen...

lg
karlheinz






More information about the Vienna-pm mailing list