使用升华文本2和Python编码错误

使用升华文本2和Python编码错误,python,sublimetext2,Python,Sublimetext2,在sublime text 2中一个行丰富的代码中遇到编码问题后,我决定做一个更简单的实验。我使用了以下代码,试图用中文打印: #!/usr/bin/env python # -*- coding: utf-8 -*- print('你好') 在升华文本中运行时,我收到以下错误: File "D:\xampp\htdocs\stam\chinese print try.py", line 4, in <module> print('\u4f60\u597d') File "d:\

在sublime text 2中一个行丰富的代码中遇到编码问题后,我决定做一个更简单的实验。我使用了以下代码,试图用中文打印:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print('你好')
在升华文本中运行时,我收到以下错误:

File "D:\xampp\htdocs\stam\chinese print try.py", line 4, in <module>
print('\u4f60\u597d')
File "d:\Python34\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-1: character           maps to <undefined>
[Finished in 0.2s with exit code 1]
文件“D:\xampp\htdocs\stam\chinese print try.py”,第4行,在
打印('\u4f60\u597d')
文件“d:\Python34\lib\encodings\cp1252.py”,第19行,在encode中
返回codecs.charmap\u encode(输入、自身错误、编码表)[0]
UnicodeEncodeError:“charmap”编解码器无法对位置0-1中的字符进行编码:字符映射到
[在0.2秒内完成,退出代码为1]
这里是大但是。当我通过常规Python GUI运行代码时,一切都很好。它会打印

我试着看了看,但不明白这对我有什么帮助(这可能确实是因为我对崇高的文本配置缺乏理解)

感谢您的帮助。

请看以下内容:

我做了两件事,最终解决了这个问题:

  • 在代码中,添加导入系统 重新加载(系统) sys.setdefaultencoding(“utf-8”)
  • 在Python.sublime-build中,添加
    “编码”:“utf-8”
与此类似

您可以修改或添加新的构建,并在构建文件中包含“env”:{“pythonionecoding”:“utf8”}

例如,新的生成文件应如下所示(windows 7):


似乎您正试图在使用
cp1252
编码的控制台上打印。这是正常的,它会产生错误,因为该编码不支持汉字。您需要使用
chcp
命令为您的控制台设置正确的编码。谢谢@PauloBu,我试图深入研究,但它没有找到实现方法。麻烦你指路好吗?
{
    "cmd": ["your_path\\python.exe", "-u", "$file"],
    "file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf8"}
}