[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.