Python字符编码
问题描述:
我有一个python脚本,它从Web服务中检索信息,然后在MySQL数据库中查找数据。当我收到数据时,数据是unicode,但是我希望SQL语句使用实际字符(下面示例中的Băcioi)。正如你所看到的,当我尝试编码到UTF-8时,结果仍然不是我要找的。Python字符编码
>>> x = u'B\u0103cioi'
>>> x
u'B\u0103cioi'
>>> x.encode('utf-8')
'B\xc4\x83cioi'
>>> print x
Băcioi ## << What I want!
答
您的编码工作正常。 Python只是在命令行上向您显示repr()
的d版本,该命令行使用\x
转义符。你可以告诉它,因为它也在字符串周围显示引号。
print
不会对字符串做任何突变 - 如果它打印出你想要的字符,那就是字符串内容的实际内容。
@MДΓΓБДLL - 你是什么意思?他们已经以这种方式打印它,因为这是字符串。没有必要改变。 – Amber 2012-03-22 00:40:35
是的,那是一个愚蠢的评论。我会在角落里结束 – 2012-03-22 00:41:28