[Python-de] filesystemencoding
jens
python_gmane at jensdiemer.de
Die Apr 4 12:47:31 CEST 2006
Ich möchte in PyDown [1] endlich das Problem lösen, das Sonderzeichen in
Datei/Verz.-Namen richtig in der erzeugen Webseite angezeigt werden.
Das ist allerdings nicht ganz so einfach, wie mir scheint :(
Eine interessante Seite zum Thema ist [2]. Unter dem Punkt "File system"
hab ich ein paar Anregungen und auch work-a-rounds gefunden.
Der Königsweg ist es wohl, intern alles in unicode zu handhaben und am
Ende wird es dann durch die jinja Template engine [3] nach UTF-8 gewandelt.
Allerdings ist das wohl nicht so einfach :(
Eigentlich sollte os.unlink(u"path") alle Verz. Einträge als unicode
zurück liefern. Das tut es allerdings nicht wirklich. Unter Windows
geht's unter Linux gibt's Probleme, da Einträge mit Sonderzeichen bei
mir kein Unicode sind :(
Ich möchte nicht ausschließen, das es evtl. an meiner Ubuntu-Version
liegt, die evtl. falsch eingestellt ist. Wobei ich nicht weiß wie ich
das ändern könnte.
Auf jeden Fall hab ich mir ein Test-Skript geschrieben, welches mehr
Aufschlüsse geben soll [4]
Doch selbst wenn man alle Verz.-Einträge als unicode hat, gibt es
Probleme mit einigen Python "Befehlen"... Denn nicht alle mögen
Unverständnisserweise unicode. z.B. os.path.*
Leider spuck die Doku in dem Zusammenhang nicht viel aus :(
Also was kann man tun???
Offensichtlich gibt es auch noch einige Bugs:
http://sourceforge.net/tracker/index.php?func=detail&aid=767645&group_id=5470&atid=105470
http://sourceforge.net/tracker/index.php?func=detail&aid=1283895&group_id=5470&atid=105470
[1] http://www.jensdiemer.de/Programmieren/Python/PyDown
[2] http://kofoto.rosdahl.net/trac/wiki/UnicodeInPython
[3] http://wsgiarea.pocoo.org/jinja/
[4] http://www.python-forum.de/viewtopic.php?p=34275#34275
--
Mfg.
Jens Diemer
----
CMS in pure Python CGI: http://www.pylucid.org