使用升华文本2和Python编码错误
在sublime text 2中一个行丰富的代码中遇到编码问题后,我决定做一个更简单的实验。我使用了以下代码,试图用中文打印:使用升华文本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:\
#!/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”
似乎您正试图在使用
cp1252
编码的控制台上打印。这是正常的,它会产生错误,因为该编码不支持汉字。您需要使用chcp
命令为您的控制台设置正确的编码。谢谢@PauloBu,我试图深入研究,但它没有找到实现方法。麻烦你指路好吗?
{
"cmd": ["your_path\\python.exe", "-u", "$file"],
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf8"}
}