[Python-de] filesystemencoding
"Martin v. Löwis"
martin at v.loewis.de
Don Apr 6 09:04:31 CEST 2006
Jens Diemer wrote:
> Sieht also gut aus... Nun hab ich es mal in meiner WebApp eingebaut und
> siehe da, es sind ganz andere Angaben:
>
> """
> sys.stdin.encoding: None
> sys.stdout.encoding: None
> sys.stderr.encoding: None
> sys.getdefaultencoding(): ascii
> sys.getfilesystemencoding(): ANSI_X3.4-1968
> locale.getpreferredencoding(): ANSI_X3.4-1968
> """
Offenbar läuft Apache mit LANG=C. Es gibt zwei Möglichkeiten:
1. Du änderst die locale, in der Apache läuft, z.B. indem Du
in /etc/init.d/apache2 den Text
ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"
durch
ENV="env -i LANG=de_DE.UTF-8 PATH=/usr/local/bin:/usr/bin:/bin"
ersetzt (besser würde man ENV in /etc/default/apache2 setzen)
2. Du änderst LANG nur für das CGI-Skript, etwa mittels SetEnv:
http://httpd.apache.org/docs/2.0/mod/mod_env.html#passenv
Ciao,
Martin