sqlite3 中文乱码问题 qt4

在代码操作数据库的时候 会出现乱码,一下是解决方法 

一、
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
插入数据语句若有中文必须先QObject::tr()一番,即进行编码,
query.exec("INSERT INTO student (schnum, name, sex, nation) VALUES (2614103, '天门,'男', '汉族')");
改为
query.exec(QObject::tr("INSERT INTO student (schnum, name, sex, nation) VALUES (2614103, '天门,'男', '汉族')"));
结果在显示中都能得正确显示。
二、
将上面设置编码的地方改为:QTextCodec::setCodecForTr(QTextCodec::codecForLocale()));设置为本地编码,插入数据时对查询语句进行QObject::tr(),结果数据库和显示都为中文,能正常显示了。
 
参考

posted on 2015-05-24 22:00  areu-me  阅读(365)  评论(0编辑  收藏  举报

导航