在崇高文本2中的行丰富代码中遇到编码问题后,我决定做一个更简单的实验。我使用以下代码,尝试用中文打印:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print('你好')
在sublime文本中运行时,收到以下错误:
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]
这里很重要但是。当我通过常规Python GUI运行代码时,一切都很好。它打印。
我试过看here但是我不明白它是如何帮助我的(这可能确实是我在崇高的文本配置中缺乏理解)。
感谢您的帮助。
答案 0 :(得分:1)
类似于此printing UTF-8 in Python 3 using Sublime Text 3
您可以修改或添加新的构建,并在构建文件中包含“ env”:{“ PYTHONIOENCODING”:“ utf8”}。
例如,新的构建文件应类似于以下内容(Windows 7):
{
"cmd": ["your_path\\python.exe", "-u", "$file"],
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf8"}
}
答案 1 :(得分:0)
请参阅:http://blog.sina.com.cn/s/blog_765abd7b0101dtbw.html
我做了这两件事,最终解决了这个问题:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
"encoding":"utf-8"