python:getfilesystemencoding()在shell和wsgi中返回不同的值
在shell中键入'sys.getfilesystemencoding()'时,得到的结果是“utf-8” 但当我在WSGI脚本中运行时,得到的结果是“ANSI_X3.4-1968”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
那么为什么不同呢?这是由于不同的脚本造成的 请注意,在下面的示例中,当我更改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
环境变量