python-3.x - 如何在 MacOS 的 Sublime Text 3 中更改首选编码

标签 python-3.x encoding utf-8 sublimetext3 osx-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。

关于python-3.x - 如何在 MacOS 的 Sublime Text 3 中更改首选编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42101759/

相关文章:

ffmpeg的iphone编码问题

python阿拉伯语编码问题

linux - scp 文件到 linux 自动将文件名转换为 utf8

python - 如何通过在字符串中使用\u 或\U 转义来正确表示 python3 (3.6.1+) 中的补充 unicode 字符

python - 即使输入正确也会出现错误消息。 Python

python - 我怎样才能在结尾处写一个理解列表?

Python列表超出范围

javascript - 丢失换行符 - Base64 到 UTF-8

c++ - C++ 17之前的char8_t/UTF8 chars状况不佳吗?

python - Python 3 和 matplotlib 中的 Unicode 绘图标记