Sublime Text 3,Python 3和UTF-8彼此不喜欢 [英] Sublime Text 3, Python 3 and UTF-8 don't like each other

查看:170
本文介绍了Sublime Text 3,Python 3和UTF-8彼此不喜欢的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆