0
格式化字符串%时,对我的生活,我不知道这一点:我只是想提取的消息,谁从以.json文件说他们。虽然我不能在这里透露的数据,这是做这行:UnicodeEncodeError在Python
print '<%s> %s' % (x['sender_id'], x['content'][0]['text'])
“x”是包含我需要知道的东西的字典。每条线上的输出如下所示:
<username> The quick brown fox jumps over the lazy dog.
正如许多IRC日志中所见。无论如何,元组中的两个字符串都有Unicode。也就是说,它们是Python unicode类型的形式。我检查了。然而,当我尝试将其格式化成字符串,结果总是一样的东西:
UnicodeEncodeError: 'ascii' codec can't encode character u'\U0001f52b' in position 26: ordinal not in range(128)
我已经尝试了很多事情,比如写这个:
print u'<%s> %s' % (x['sender_id'], x['content'][0]['text'])
或者:
print '<%s> %s' % (x['sender_id'], x['content'][0]['text']).encode('utf-8')
和我都试过,除了这两个策略,和其他东西相结合,但没有我已经试过的作品。我究竟做错了什么?
情节实际上增厚。我注意到只有这个角色是一个问题,即:。其他人没有投诉就经历了。你的建议也没有用。不管怎样,谢谢你。我有点开始相信,Python中可能存在一个错误,或者这里有一个畸形的或奇特的/专有的Unicode字符。显然它应该是一个手枪的图像:http://www.iemoji.com/view/emoji/376/events/pistol-or-revolver – Sadiq
什么是'sys.stdout.encoding'? –
默认情况下,无。我只是浏览了bash历史,发现我写了PYTHONENCODING而不是PYTHONIOENCODING。它现在有效。 – Sadiq