[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