[Qt]QString 与Sqlite3 字符串互动[汉字不乱码]

环境:

Qt C++(msvc c++)

1.将与数据库交互的代码文件编码转换为utf-8-bom编码,(可使用notepad ++进行转换)

2.在代码文件头文件中加上下面代码。

cpp 复制代码
//vs2010 版本是 1600
#if defined(_MSC_VER) && (_MSC_VER >= 1600 )    
#pragma execution_character_set("utf-8")    
#endif

3.从数据库检索的汉字处理

直接使用QString(azResult[i*ncolumn+1]) 这样编码不会乱码显示

4.向数据库写入汉字

cpp 复制代码
char **zErrMsg = 0 ;

QString sql = QString("INSERT INTO ParamGroup (GroupNum,[Group],GroupLv)  VALUES('%1' ,'%2','%3')").arg("8").arg("驱动器参数").arg("0");

int rc = sqlite_exec(db, sql.toUtf8().data(), NULL,NULL, zErrMsg ) ;

if(rc == SQLITE_OK){
    sqlite3_free( zErrMsg  );
    return false;
}

return true;

注:这里的 [Group]使用了方括号是因为 Group 在sql中是个关键字?!。

相关推荐
偶像你挑的噻1 天前
3.Qt-基础布局以及事件
开发语言·数据库·qt
Dxy12393102161 天前
MySQL如何做读写分离架构
数据库·mysql·架构
毕设十刻1 天前
基于Vue的考勤管理系统8n7j8(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
合方圆~小文1 天前
不同画面,三个镜头实时监控拍摄方案
数据结构·数据库·人工智能
ChrisitineTX1 天前
凌晨突发Java并发问题:synchronized锁升级导致接口超时,排查过程全记录
java·数据库·oracle
极限实验室1 天前
Easysearch 2.0.0 性能测试
数据库·性能优化
老华带你飞1 天前
社团管理|基于Java社团管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
shayudiandian1 天前
用LangChain打造你自己的智能问答系统
java·数据库·langchain
马克学长1 天前
SSM特殊教育学校学生管理系统002k1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·学生管理系统·特殊教育·ssm 框架
卿雪1 天前
Redis 线程模型:Redis为什么这么快?Redis为什么引入多线程?
java·数据库·redis·sql·mysql·缓存·golang