sqlite3导库方法与wxsqlite3不能读取中文的问题解决

sqlite3导库方法与wxsqlite3不能读取中文的问题解决,第1张

概述在使用wxsqlite3时,通常会遇到中文不能读取问题。 【wxwidgets中文论坛】  http://www.wxcn.org 原因是:wxsqlite3在内部使用的是utf-8编码,如果导入的sqlite3数据库是gb2312的,那么wxsqlite3在读取的时候,将获取不到中文字段的数据。 解决办法,创建utf-8编码的sqlite3数据库,wxsqlite3就可以正常读写。 使用工具创建

在使用wxsqlite3时,通常会遇到中文不能读取问题。 【wxWidgets中文论坛】 http://www.wxcn.org

原因是:wxsqlite3在内部使用的是utf-8编码,如果导入的sqlite3数据库是gb2312的,那么wxsqlite3在读取的时候,将获取不到中文字段的数据。

解决办法,创建utf-8编码的sqlite3数据库,wxsqlite3就可以正常读写。

使用工具创建的方法这里不做详细介绍,下面具体介绍如何使用sqlite3.exe命令行创建utf-8编码的数据库:

比如需要创建一个sqlite3数据库zl.db ,先运行如下命令创建数据库:

sqlite3.exe zl.db

创建数据表TDayInfo:
如格式为:GL,ZL,Info,以GL为主键

创建的相关的SQL语句:
PRAGMA enCoding="UTF-8";PRAGMA foreign_keys=OFF;
CREATE table "TDayInfo" (
"GL" TEXT NOT NulL,
"ZL" TEXT,
"Info" TEXT,
PRIMARY KEY ("GL" ASC)
);

设置模式的命令为:
.mode csv (或者使用“ .separator "," ”指定分隔符为英文逗号)
导入数据说明:
其中rq.csv是以逗号分隔的csv文件,总共三行,包含中文字段,可从access中导出,或者从直接用文本编辑器编辑。

如需在wxsqlite3中使用,则rq.csv必须保存成utf-8编码

——导入rq.csv后使用sqlite3.exe查询为乱码,但是使用wxsqlite3访问则可正常显示中文。

如rq.csv是ASCII编码,那么导入后,使用sqlite3.exe查询正常显示中文,但使用wxsqlite3访问则查出来为空值。

导入的命令为:
.import rq.csv TDayInfo
导入完成后就可以使用了。
退出命令:
.exit

这样,utf-8编码的sqlite3数据库就创建成功了。此时在wxsqlite3中调用查询,就不存在乱码或者读取不出中文数据的问题了。

欢迎大家一起学习交流

总结

以上是内存溢出为你收集整理的sqlite3导库方法与wxsqlite3不能读取中文的问题解决全部内容,希望文章能够帮你解决sqlite3导库方法与wxsqlite3不能读取中文的问题解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1174983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存