2024-04-19 16:06:21 发布
网友
我使用的是python2.6.6
item = {u'snippet': {u'title': u'How to Pronounce Canap\xe9'}} title = item['snippet']['title'] print title
结果:
期望结果:
How to Pronounce Canapé
这看起来像是一个Unicode问题,我尝试了编码和解码到utf8,但结果还是一样,有什么想法吗?在
您的终端需要UTF-8:
UTF-8
$ locale charmap UTF-8
Python使用UTF-8打印:
更改SecureCRT设置以接受UTF-8。在
如果可能,请使用\u00e9,而不是\xe9。然后在输出unicode字符串时选择适当的编码:
\u00e9
\xe9
print title.encode('latin1')
什么样的编码是合理的取决于输出到哪里。通常,您必须从环境变量中推断,或者让您的用户在配置文件中进行选择。在
PS:如果您经常处理Unicode字符串,我建议您尽可能切换到python3(例如3.3)。Unicode处理更清晰/明确/理智。在
这很可能是因为Python使用的默认编码与控制台的编码不匹配。看起来Python假设编码是UTF-8,但是控制台将其解释为拉丁语-1。在
您的终端需要
UTF-8
:Python使用
^{pr2}$UTF-8
打印:更改SecureCRT设置以接受UTF-8。在
如果可能,请使用
\u00e9
,而不是\xe9
。然后在输出unicode字符串时选择适当的编码:什么样的编码是合理的取决于输出到哪里。通常,您必须从环境变量中推断,或者让您的用户在配置文件中进行选择。在
PS:如果您经常处理Unicode字符串,我建议您尽可能切换到python3(例如3.3)。Unicode处理更清晰/明确/理智。在
这很可能是因为Python使用的默认编码与控制台的编码不匹配。看起来Python假设编码是UTF-8,但是控制台将其解释为拉丁语-1。在
相关问题 更多 >
编程相关推荐