我正在尝试从archived web crawl打印字符串,但是当我这样做时,我收到此错误:
print page['html']
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 17710: ordinal not in range(128)
当我尝试打印unicode(page['html'])
时,我得到:
print unicode(page['html'],errors='ignore')
TypeError: decoding Unicode is not supported
我知道如何正确编码这个字符串,或者至少让它打印出来?感谢。
答案 0 :(得分:20)
你需要编码你保存的unicode才能显示它,而不是解码它 - unicode是未编码的形式。您应始终指定编码,以便您的代码可移植。 “通常”的选择是utf-8
:
print page['html'].encode('utf-8')
如果您没有指定编码,它是否有效将取决于您print
的内容 - 您的编辑器,操作系统,终端程序等。