我正在尝试使用 python 中的 mechanize 模块下载网页(俄语)(我的计算机仅使用英语)。我收到以下错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 50-59
有人可以告诉我如何纠正这些类型的错误或它们的含义吗?
我正在尝试使用 python 中的 mechanize 模块下载网页(俄语)(我的计算机仅使用英语)。我收到以下错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 50-59
有人可以告诉我如何纠正这些类型的错误或它们的含义吗?
长话短说,您的原始字符串未以 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 或其他东西)