python:getfilesystemencoding()在shell和wsgi中返回不同的值

python:getfilesystemencoding()在shell和wsgi中返回不同的值,python,mod-wsgi,wsgi,Python,Mod Wsgi,Wsgi,在shell中键入'sys.getfilesystemencoding()'时,得到的结果是“utf-8” 但当我在WSGI脚本中运行时,得到的结果是“ANSI_X3.4-1968” 那么为什么不同呢?这是由于不同的脚本造成的 请注意,在下面的示例中,当我更改LC_CTYPE时会发生什么: └> LC_CTYPE=ANSI python -c 'import sys; print sys.getfilesystemencoding()' ANSI_X3.4-1968 └> LC_C

在shell中键入'sys.getfilesystemencoding()'时,得到的结果是“utf-8”

但当我在WSGI脚本中运行时,得到的结果是“ANSI_X3.4-1968”


那么为什么不同呢?

这是由于不同的脚本造成的

请注意,在下面的示例中,当我更改LC_CTYPE时会发生什么:

└> LC_CTYPE=ANSI python -c 'import sys; print sys.getfilesystemencoding()'
ANSI_X3.4-1968

└> LC_CTYPE=en_US.UTF-8 python -c 'import sys; print sys.getfilesystemencoding()'
UTF-8

要解决此问题,请将
en_US.UTF-8
值指定给wsgi脚本的
LC_CTYPE
环境变量。

这是由于脚本不同而发生的

请注意,在下面的示例中,当我更改LC_CTYPE时会发生什么:

└> LC_CTYPE=ANSI python -c 'import sys; print sys.getfilesystemencoding()'
ANSI_X3.4-1968

└> LC_CTYPE=en_US.UTF-8 python -c 'import sys; print sys.getfilesystemencoding()'
UTF-8
要解决此问题,请将
en_US.UTF-8
值分配给wsgi脚本的
LC_CTYPE
环境变量