0

我正在尝试使用 python 中的 mechanize 模块下载网页(俄语)(我的计算机仅使用英语)。我收到以下错误

UnicodeEncodeError: 'ascii' codec can't encode characters in position 50-59

有人可以告诉我如何纠正这些类型的错误或它们的含义吗?

4

1 回答 1

0

长话短说,您的原始字符串未以 ASCII 编码,这意味着当尝试打印字符时,python 不知道该怎么做,因为原始字符代码超出了 ASCII 范围。

这是 ASCII 表及其支持的字符:http ://www.asciitable.com/

你可以使用说转换你的字符: Python - 编码字符串 - 瑞典字母


或者你可以这样做:

(这是解决许多编码问题的解决方案)


编辑:C:\Python??\Lib\Site.py 将“del sys.setdefaultencoding”替换为“pass”,如下所示: 像这样

然后,
将其放在代码的顶部:

sys.setdefaultencoding('latin-1')

修复瑞典语/非 UTF8 兼容字符的圣杯。我不确定 latin-1 会覆盖你所有的俄语字符,如果它不知道的话,你可能知道一个编码(例如:ISO-8859-15 或其他东西)

于 2013-03-21T21:00:13.943 回答