我有一个由外部程序填充的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以上的所有记录都有此字符问题,因此产生错误.
任何帮助赞赏.