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不会对字符串做任何突变 - 如果它打印出你想要的字符,那就是字符串内容的实际内容。

+0

@MДΓΓБДLL - 你是什么意思?他们已经以这种方式打印它,因为这是字符串。没有必要改变。 – Amber 2012-03-22 00:40:35

+1

是的,那是一个愚蠢的评论。我会在角落里结束 – 2012-03-22 00:41:28