首页 > 解决方案 > 如果通过配置管理调用 getfilesystemencoding() 会有所不同

问题描述

如果通过配置管理(在我的情况下为 salt-stack)调用脚本,它将失败。如果通过 shell 调用它可以工作。

我使用工具dumpenv来区分环境。

getfilesystemencoding() 是不同的:

dumpenv-getfilesystemencoding-differs

环境变量看起来并没有太大的不同:

dumpenv-os-环境变量

是什么导致 getfilesystemencoding() 在右侧出错?

Python版本:2.7

标签: pythonpython-2.7environment-variables

解决方案


getfilesystemencoding ()文档指向nl_langinfo文档,表明它LC_CTYPE用于确定编码。

因此,如果您的环境有,LC_CTYPE="C.UTF-8"您可能会将其UTF-8作为getfilesystemencoding()输出,而不是ANSI_X3.4-1968(更广为人知的 US-ASCII)。


推荐阅读