9

我正在尝试从存档的 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

知道如何正确编码这个字符串,或者至少让它打印吗?谢谢。

4

1 回答 1

22

您需要对保存的 unicode 进行编码以显示它,而不是对其进行解码——unicode 是未编码的形式。您应该始终指定编码,以便您的代码可移植。“通常”的选择是utf-8

print page['html'].encode('utf-8')

如果您不指定编码,它是否有效将取决于您要做什么print——您的编辑器、操作系统、终端程序等。

于 2012-04-25T19:31:11.450 回答