Sublime Text 3,Python 3和UTF-8彼此不喜欢 [英] Sublime Text 3, Python 3 and UTF-8 don't like each other
问题描述
我正在尝试使用在Sublime Text中运行的Python脚本来解析HTML页面.此页面包含非ASCII字符.我一直得到[Decode error - output not utf-8]
,所以我进行了一些调查,然后得出了这个有趣的代码段:
I am trying to parse an HTML page using a Python script I run in Sublime Text. This page contains non-ASCII characters. I kept getting [Decode error - output not utf-8]
so I investigated a little and came down to this funny code snippet:
import codecs
#print((1, codecs.decode(codecs.encode('ò', 'utf-8'), 'utf-8')))
print('ò')
打印[Decode error - output not utf-8]
.如果我对ASCII字符进行编码,则不会发生此错误.这不是编译错误-程序运行并完成-因此我怀疑这是Sublime Text处理脚本输出的问题,但是我无法进一步缩小范围.我该如何进行这项工作?
which prints [Decode error - output not utf-8]
. This error does not happen if I encode an ASCII character. It is not a compile error - the program runs and completes - so I suspect this is a problem with Sublime Text processing the script output, but I can't narrow it down any further. How do I make this work?
推荐答案
继续打开命令提示符并输入:
Go ahead and open the command prompt and type in:
c:\>chcp
检查命令的编码.对我来说是
to check the encoding of the command. By me it's
Active code page: 852
现在打开Python.sublime-build
(C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User
)构建系统并添加编码:
Now open the Python.sublime-build
(C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User
) build system and add the encoding:
{
"cmd": ["c:\\python33\\python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "cp852"
}
这应该剪掉它.
这篇关于Sublime Text 3,Python 3和UTF-8彼此不喜欢的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!