[Python-de] (Unicode)Wenn ich das richtig sehe...

Heiko Wundram heikowu at ceosg.de
Son Mai 23 14:08:48 CEST 2004


Am Sonntag, 23. Mai 2004 12:08 schrieb Olaf 'Rübezahl' Radicke:
> Vielleicht ist es Zufall, aber bei mir haben so viele Python-Module
> ohne Unicodefähigkeit, das das Prinzip kaum an zu wenden ist.
> Als da währe: Tkinter, xml.parsers.expat, pg, cmd, posix.system

Hmm... Wie lang wäre wohl die Liste der Module, die Unicode-Fähig sind? :) 
Ganz davon abgesehen: Tk kann kein Unicode, deswegen Tkinter auch nicht, 
expat kann kein Unicode (meiunes Wissens nach), deswegen xml.parsers.expat 
auch nicht, pg ist kein Python-Basis-Modul (und meines Wissens nach gibt es 
für Postgres mehr als ein DB-API Modul was auch Unicode kann, warum also bei 
pg bleiben?) und bei cmd und posix.system sind es die Beschränkungen des 
Basis-Systems, die die Unicode-Fähigkeit kaputtmachen. Unix kennt nun mal 
keine Unicode-Dateinamen (es kennt nur ein Filesystem-Encoding, welches aber 
nicht von Python, sondern beim mounten des Dateisystems gesetzt wird), im 
Gegensatz zu Windows, und unter Windows ist Unicode auch seit 2.3 komplett 
integriert in alle Funktionen die mit dem Dateisystem arbeiten (gibt sogar 
ein Flag in os.path welches Dir sagt, ob Unicode im Dateisystem unterstützt 
wird oder nicht).

Vielleicht wäre es ganz ratsam, wenn Du Dich einfach mal darüber informieren 
würdest, ob die unterliegenden Bibliotheken Unicode können oder nicht, und 
dann entscheidest, wo der Fehler liegt, und ob Python nicht eigentlich das 
richtige macht, indem es einfach keine Unicode-Schnittstelle zur Verfügung 
stellt, sondern die Aufgabe dem Programmierer überlässt, der mit Sicherheit 
besser weiss, wie z.B. Unicode-Dateinamen auf Unix aussehen sollen... ;)

Wegen xml.parsers.expat: Guck Dir mal die Python-Bindings von libxml (libxml 
ist ein Teil von Gnome), 4Suite (http://4suite.org) oder aber pyxml 
(http://pyxml.sourceforge.net) an, die können alle ohne Probleme mit XML in 
Unicode-Formatierung umgehen.

Heiko.