Unicode在Python 2.7.3中使用sqlite3

时间:2013-05-13 19:34:20

标签: python sqlite unicode encoding ascii

我正在尝试插入表中,但似乎我打开的文件中包含非ascii字符。这是我得到的错误:

  

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

所以在做了一些研究之后,我尝试将它放在我的代码中:

encode("utf8","ignore")

然后给了我这个错误:

  

UnicodeDecodeError:'ascii'编解码器无法解码位置9的字节0x92:序数不在范围内(128)

然后我尝试使用编解码器库并打开这样的文件:

codecs.open(fileName, encoding='utf-8')

给了我这个错误:

newchars, decodedbytes = self.decode(data, self.errors)
     

UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0x92:无效的起始字节

然后我使用utf-16而不是utf-8来查看是否可以做任何事情而且我得到了这个错误:

  

引发UnicodeError,“UTF-16流不以BOM开头”   UnicodeError:UTF-16流不以BOM

开头

我全都没有想法...... 我也在使用Ubuntu,如果有帮助的话。

0 个答案:

没有答案