简体   繁体   English

UnicodeEncodeError:'ascii'编解码器无法编码位置17710中的字符u'\ xe7':序数不在范围内(128)

[英]UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 17710: ordinal not in range(128)

I'm trying to print a string from an archived web crawl , but when I do I get this error: 我正在尝试从存档的Web爬网中打印字符串,但是当我这样做时,我收到此错误:

print page['html']
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 17710: ordinal not in range(128)

When I try print unicode(page['html']) I get: 当我尝试打印unicode(page['html'])我得到:

print unicode(page['html'],errors='ignore')
TypeError: decoding Unicode is not supported

Any idea how I can properly code this string, or at least get it to print? 知道如何正确编码这个字符串,或至少让它打印? Thanks. 谢谢。

You need to encode the unicode you saved to display it, not decode it -- unicode is the unencoded form. 您需要保存的unicode进行编码以显示它,而不是对其进行解码 - unicode是未编码的形式。 You should always specify an encoding, so that your code will be portable. 您应始终指定编码,以便您的代码可移植。 The "usual" pick is utf-8 : “通常”的选择是utf-8

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

If you don't specify an encoding, whether or not it works will depend on what you're print ing to -- your editor, OS, terminal program, etc. 如果您没有指定编码,它是否有效将取决于您print - 您的编辑器,操作系统,终端程序等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 UnicodeEncodeError: 'ascii' codec can't encode character u'\\xe9' in position 54: ordinal not in range(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 54: ordinal not in range(128) Python eyed3 UnicodeEncodeError:'ascii'编解码器无法在位置17编码字符u'\\ xe9':序数不在范围内(128) - Python eyed3 UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器无法对位置448中的字符u'\\ u2013'进行编码:序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 448: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器无法在位置32编码字符u'\\ u2019':序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 32: ordinal not in range(128) UnicodeEncodeError: 'ascii' codec can't encode character u'\–' in position 3 2: ordinal not in range(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 3 2: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器无法对位置34中的字符u'\\ u05a0'进行编码:序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u05a0' in position 34: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器无法对位置47中的字符u'\\ u2019'进行编码:序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 47: ordinal not in range(128) UnicodeEncodeError: 'ascii' codec can't encode character u'\ц' in position 32: ordinal not in range(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u0446' in position 32: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器无法在位置30339编码字符u'\\ u2019':序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 30339: ordinal not in range(128) UnicodeEncodeError: 'ascii' 编解码器无法对位置 0 中的字符 u'\ا' 进行编码:序号不在范围内 (128) - UnicodeEncodeError: 'ascii' codec can't encode character u'\u0627' in position 0: ordinal not in range(128)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM