Python utf8编码问题

时间:2011-05-24 18:56:26

标签: python unicode encoding

我正在研究Python应用程序,并且在处理字符串时遇到了一些问题。

有这个字符串“她离我的联盟”(没有引号)。我将它存储在一个变量中,并尝试将其插入到sqlite3数据库中。但是,我收到了这个错误:

  

sqlite3.ProgrammingError:除非使用可解释8位字节串的text_factory(如text_factory = str),否则不得使用8位字节串。强烈建议您只需将应用程序切换为Unicode字符串。

所以,我试着将字符串转换为unicode。我尝试了这两个:

new_str = unicode(old_str)
new_str = old_str.encode("utf8")

但这给了我另一个错误:

  

UnicodeDecodeError:'utf8'编解码器无法解码位置49的字节0x92:意外的代码字节

我被困在这里。我做错了什么?

1 个答案:

答案 0 :(得分:1)

简单。你假设它是UTF-8。

>>> print 'She\x92s Out of My League'.decode('cp1252')
She’s Out of My League