相关疑难解决方法(0)

Python编码 - 无法解码为utf8

我有一个由外部程序填充的sqlite数据库.我试图用python读取数据.当我尝试读取数据时,出现以下错误:

OperationalError:无法解码为UTF-8

如果我在sqlite管理器中打开数据库并使用内置浏览和搜索查看违规记录中的数据,它看起来很好,但是如果我将表导出为csv,我会注意到违规记录中的字符£已成为£

如果我在python中读取csv,违规记录中的£仍然被读为£,但这不是问题,我可以手动解析它.但是,我需要能够直接从数据库中读取数据,而无需转换为csv的中间步骤.

我已经在线查看了类似问题的一些答案,我到目前为止尝试设置"text_factory = str",我也尝试使用sqlite manager将列的数据类型从TEXT更改为BLOB,但仍然得到错误.

我的下面的代码导致OperationalError:无法解码为UTF-8

conn = sqlite3.connect('test.db')
conn.text_factory = str
curr = conn.cursor()
curr.execute('''SELECT xml_dump FROM hands_1 LIMIT  5000  , 5001''')
row = curr.fetchone()
Run Code Online (Sandbox Code Playgroud)

数据库中5000以上的所有记录都有此字符问题,因此产生错误.

任何帮助赞赏.

python csv sqlite utf-8 character-encoding

4
推荐指数
2
解决办法
9933
查看次数

标签 统计

character-encoding ×1

csv ×1

python ×1

sqlite ×1

utf-8 ×1