如何更改 Sublime Text 3 for MacOS 中的首选编码

How to change the preferred encoding in Sublime Text 3 for MacOS

我想在 Yosemite 上将 Sublime Text 3 中的首选编码从 US-ASCII 更改为 UTF-8。 bash 中的首选编码设置为 UTF-8,因此当终端中的 python 为 运行 时:

import locale
print(locale.getpreferredencoding())

输出为:UTF-8 同样的代码在Sublime Text中为运行时,输出为US-ASCII.

在 Python 3 的构建系统中设置:

"encoding": "UTF-8"

"env": {"PYTHONIOENCODING": "utf-8}

没有帮助。

如何永久更改设置,以便我不必在脚本中调用 locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') 作为修复。

在 ST3 的 Python 构建系统中,您可以指定它应该设置 LANG 环境变量,这将影响从 locale.getpreferredencoding() 返回的结果,这样您就不会不需要修改任何 Python 脚本。

示例:

"env": {"PYTHONIOENCODING": "utf-8", "LANG": "en_US.UTF-8"},

这已被确认适用于 Linux 以及 MacOS 和 Windows。