当我输入' sys.getfilesystemencoding()'在shell中,我得到了结果" utf-8"
>>>
>>> import sys
>>> sys.getfilesystemencoding()
'UTF-8'
>>>
但是当我在WSGI脚本中运行时,我得到了结果" ANSI_X3.4-1968"
那为什么会有所不同?
答案 0 :(得分:4)
这是由于脚本environment不同而发生的。
请注意在以下示例中更改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
要解决此问题,请为您的wsgi脚本为en_US.UTF-8
环境变量指定LC_CTYPE
值。