[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中是个关键字?!。

相关推荐
爬山算法7 小时前
MongoDB(1)什么是MongoDB?
数据库·mongodb
Nandeska7 小时前
17、MySQL InnoDB ReplicaSet
数据库·mysql
AI_56787 小时前
SQL性能优化全景指南:从量子执行计划到自适应索引的终极实践
数据库·人工智能·学习·adb
数据知道7 小时前
PostgreSQL 性能优化:分区表实战
数据库·postgresql·性能优化
静听山水7 小时前
StarRocks表模型详解
数据库
静听山水8 小时前
Redis核心数据结构-Set
数据结构·数据库·redis
数研小生8 小时前
亚马逊商品列表API详解
前端·数据库·python·pandas
洛豳枭薰8 小时前
MySQL 并行复制
数据库·mysql
无尽的沉默8 小时前
Redis下载安装
数据库·redis·缓存
czlczl200209258 小时前
增删改查时如何提高Mysql与Redis的一致性
数据库·redis·mysql