python插入到sqlite为中文的记录,编码格式可以是GBK等格式吗?谢谢

NetG 2021-02-16 10:49:06
sqlite缺省编码是utf-8的,在windows下直接读取是乱码,用delphi的Utf8ToAnsi转换一下显示也正常;但是我希望不转换直接可用,主要便于使用select等sql语句。
所以我希望用python插入的中文数据在windows下可以直接查看,感谢。
...全文
308 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetG 2021-02-22
  • 打赏
  • 举报
回复
def insertDb(self,db,cirSql):
sqlv="insert into "+db+" (yys,sheng,shi,quhao,hm)\
values({})".format(cirSql)
self.c.execute(sqlv)

def test(self):
ss='运营商'
self.insertDb('hmdb',repr('省')+','+repr(ss)+','+repr('时')+','+repr('quhao')+','+repr('123'))
self.conn.commit()
getOriDB=self.exeSql('select * from hmdb')
for rec in getOriDB:
print(rec)
结果:
('省', '运营商', '时', 'quhao', '123')

delphi下select * from hmdb
yys sheng shi quhao hm
鐪 杩愯惀鍟 鏃 quhao 123


反之如果在delphi下插入到sqlite里中文数据,在delphi下显示正常。
在pyth下需要text_factory=lambda x:str(x,"GBK","ignore")可以用python正确显示
chuifengde 2021-02-21
  • 打赏
  • 举报
回复
我vb,python交互插入读取完全没问题。
chuifengde 2021-02-21
  • 打赏
  • 举报
回复
插进去是什么,可以用sqlite develpoer看一下数据应该就可以吧
NetG 2021-02-20
  • 打赏
  • 举报
回复
如果用delphi在sqlite插入数据,在python下读取这个数据,只要设置读取编码是GBK就可以正常显示中文;
反之,在python下插入中文数据,在delphi下直接读取就是乱码,需要用Utf8ToAnsi转换才可以。
delphi在sqlite插入数据的编码难道不是utf-8格式?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧