我正在尝试使用 python 中的 Mechanize 模块下载网页(俄语)(我的电脑只使用英语)。我收到以下错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 50-59
有人可以告诉我如何纠正这些类型的错误或它们的含义吗?
最佳答案
长话短说,您的原始字符串不是用 ASCII 编码的,这意味着在尝试打印字符时,python 不知道该怎么做,因为原始字符代码超出了 ASCII 范围。
这是 ASCII 表及其支持的字符:http://www.asciitable.com/
您可以使用说转换您的字符:
Python - Encoding string - Swedish Letters
或者你可以这样做:
(这是解决很多编码问题的方法)
编辑:C:\Python??\Lib\Site.py
将“del sys.setdefaultencoding”替换为“pass”,如下所示:
然后,
把它放在代码的顶部:
sys.setdefaultencoding('latin-1')
修复瑞典语/非 UTF8 兼容字符的 chalice 。
我不确定 latin-1 是否会覆盖您所有的俄语字符,如果没有,您可能知道一种编码(例如:ISO-8859-15 或其他内容)
关于python - 使用 web python 下载不同语言的网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557897/