我正在尝试使用python中的mechanize模块下载一个网页(俄语)(我的电脑只使用英语)。我收到以下错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 50-59
有人可以告诉我如何纠正这些类型的错误或它们的意思吗?
答案 0 :(得分:0)
长话短说,您的原始字符串不是用ASCII编码的,这意味着当尝试打印字符时,python不知道该怎么做,因为原始字符代码超出了ASCII范围。
这是ASCII表及其支持的字符:http://www.asciitable.com/
你可以使用say转换你的角色:
Python - Encoding string - Swedish Letters
(这是很多编码问题的解决方案)
修改:C:\Python??\Lib\Site.py
将“del sys.setdefaultencoding”替换为“pass”,如下所示:
然后,
将此放在代码的顶部:
sys.setdefaultencoding('latin-1')
修复瑞典/非UTF8兼容角色的圣杯。 我不确定拉丁语1会覆盖你所有的俄语字符,如果它不是你可能知道的编码(例如:ISO-8859-15或其他)