python3构建的Sublime Text 2编码错误

Sublime Text 2 encoding error with python3 build(python3构建的Sublime Text 2编码错误)

本文介绍了python3构建的Sublime Text 2编码错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从 Sublime Text 2 运行我的 python3 脚本时,出现以下错误:

When running my python3 script from Sublime Text 2, the following error occures:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

此外,当从终端运行相同的脚本时,问题不会出现.

Furthermore, when running the same script from the terminal, the problem doesn't appear.

Sublime 的构建系统设置如下:

The build system settings for Sublime is the following:

{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf8",
"path": "/Library/Frameworks/Python.framework/Versions/3.3/bin/"
}

提前致谢!

推荐答案

经过一番调查研究,我找到了问题所在:

After some investigation and research, I figured out what the problem is:

子进程中缺少 LANG 环境变量,由 Sublime Text 2 运行.我通过在构建设置中添加 LANG 变量来修复它,如下所示:

Missing LANG env variable in the subprocess, ran by Sublime Text 2. I fixed it by just adding the LANG variable in my build settings like so:

{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
"selector": "source.python",
"env": {"LANG": "en_US.UTF-8"}
}

这篇关于python3构建的Sublime Text 2编码错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:python3构建的Sublime Text 2编码错误