[Vienna-pm] Re: unicode

Karlheinz Zoechling kh at dartbase.com
Tue Sep 28 17:31:52 CDT 2004


On Tue, 28 Sep 2004 23:45:35 +0200, peter pilsl wrote:

>Karlheinz Zoechling wrote:

>danke. Mir ist leider immer noch nicht klar, was das eigentlich heisst, 
>dass ein string "unicode" ist.

es heisst dass beim string perl-intern ein unicode flag gesetzt ist. das 
beeinflusst dann bei den funktionen/modulen die "unicode-aware" sind die 
meinung darueber was als ein zeichen betrachtet wird.

>imho müsste sort auch funktionieren, weil in meiner version funktioniert 
>es ja mit dem Referenzfile - schnell u speicherschonend.

eigentlich sollte es funktionieren - wenn du vor dem sorten umwandelst und 
dann wieder zurueck. aber das habe ich gerade ausprobiert und es auch nicht 
geschafft. meine erfahrung mit unicode bisher: je mehr herumgecode umso mehr 
probleme...

>Unicode::Collate ist nur ein workaround für ein schlechtes Programm?! 
>Oder die einzige Variante, die wirklich funktioniert?

was sorting betrifft eher letzteres. es ist halt nicht einfach mit dem 
alphabetischen sortieren wenn menschen andere ansichten von reihenfolge 
haben als es die zugrundeliegenden zahlenmappings des computers 
repraesentieren. und diese ansichten der menschen sind dann auch noch 
lokal/regional unterschiedlich... hier kommt man sobald man ascii verlaesst 
ohne mehr oder weniger exzessive mappings einfach nicht aus. das ist ja auch 
bei iso codings schon so, nicht nur bei unicode.

>Unicode::Collate funktioniert, greift aber auf ein über 1MB grosses
>allkeys.txt (wird von der UCA regelmässig herausgegeben) zurück und
>sollte man anscheinend nicht in grossen multithread-applicationen
>verwenden wegen Speicherproblemen und ausserdem ist es unglaublich
>langsam (1MB-file laden, suchen etc.)

du hast ja mod_perl erwaehnt - du koenntest den collator per startup script 
vorinitialisieren, dann bleibt zumindest "nur" mehr der hoehere 
speicherbedarf, der lookup sollte da eigentlich nicht so schlimm sein 
(muesste man schaun wie collate programmiert ist, evtl. auch viel cachen 
und/oder Memoize verwenden).

>Benutzt du auch binmode für deine scripts oder gehst du 
>generell anders vor?

binmode hab' ich bisher nur verwendet wenn ich wirklich absolut nicht mehr 
weiter wusste und es irgendwie geholfen hat - hs. vor 5.8. ;-)

ich habe i.a. aber nicht (mehr) viel mit unicode zu tun.

>ps: ich überlege gerade, nicht einfach auf einen ISO zurückzukehren oder 
>auf all das sorten und lc zu pfeifen und einfach nur datenbanksorts 
>zuzulassen.

nach iso zurueckkehren ist eine moeglichkeit, wird aber eventuell spaeter 
problematisch werden - imho gehoert unicode die zukunft, ob wir das moegen 
oder nicht. wenn du strikt in unicode bleibst kann eben auch ein koreaner 
als passwort den namen seiner mutter eingeben - das mag jetzt vielleicht 
unnoetig erscheinen, aber wenn dann wirklich der erste koreaner kommt...

db sorts wuerde ich aber sicher den vorzug geben wenn die db unicode gut 
unterstuetzt.

lg
karlheinz





More information about the Vienna-pm mailing list