如何在Mac OS的Sublime Text 3中更改首选编码

саш*_*аша 4 encoding utf-8 python-3.x sublimetext3 osx-yosemite

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

import locale
print(locale.getpreferredencoding())
Run Code Online (Sandbox Code Playgroud)

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

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

"encoding": "UTF-8"
Run Code Online (Sandbox Code Playgroud)

要么

"env": {"PYTHONIOENCODING": "utf-8}
Run Code Online (Sandbox Code Playgroud)

没有帮助。

如何永久更改设置,这样就不必调用locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')脚本来解决问题了。

Kei*_*all 5

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

例:

"env": {"PYTHONIOENCODING": "utf-8", "LANG": "en_US.UTF-8"},
Run Code Online (Sandbox Code Playgroud)

已经确认这可以在Linux以及MacOS和Windows上使用。