在代码操作数据库的时候 会出现乱码,一下是解决方法
一、
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(),结果数据库和显示都为中文,能正常显示了。
参考