mysql数据库编码与字段编码都为utf8时,写入中文不乱码的方法:
1、读取mysql时,采用与mysql 相同的编码方式,如:set character_set_results=utf8mb4,保证读入中文不乱码
2、对字符串操作时,源字符串与目标字符要保持相同的编码
3、写入mysql时,set names gbk,同时sql语句与变量都采用gbk编码

读取代码:
cMysql.SqlQuery(“set character_set_results=utf8mb4”, res, errormsg);
写入代码:
cMysql.SqlQuery(“set names gbk”, wres, werrormsg);

部分代码如下:

// 读取时
mysqlpp::StoreQueryResult res;
DBmysql cMysql = gDBWork.GetMysql();
string errormsg;
cMysql.SqlQuery("set character_set_results=utf8mb4", res, errormsg);
cMysql.SqlQuery(strSql, res, errormsg);// 写入时
new_actionLabel = UTF8ToGBK(new_actionLabel.c_str());
std::stringstream  w_sql;
w_sql << "update prs_userprofile set ActionLabel ='";
w_sql << new_actionLabel.c_str();
w_sql << "' WHERE UserID = '";
w_sql << userid.c_str();
w_sql << "'";
string strWSql = w_sql.str();
mysqlpp::StoreQueryResult wres;
LLOG_INFO("write sql : %s", strWSql);
string werrormsg;
cMysql = gDBWork.GetMysql();
cMysql.SqlQuery("set names gbk", wres, werrormsg);
cMysql.SqlQuery(strWSql, wres, werrormsg);

c++写入中文到mysql乱码解决方法相关推荐

  1. C# .net中cookie值为中文时的乱码解决方法

    C# .net中cookie值为中文时的乱码解决方法 一.cookie的名称或子cookie的名称不能为中文,否则无法获得cookie 这个好办,名称不用中文即可 二.cookie的值为中文时候,取c ...

  2. python listdir() 中文路径 中文文件夹 乱码 解决方法

    python listdir() 中文路径 中文文件夹 乱码 解决方法 参考文章: (1)python listdir() 中文路径 中文文件夹 乱码 解决方法 (2)https://www.cnbl ...

  3. JabRef中添加中文文献出现乱码 解决方法

    JabRef中添加中文文献出现乱码 解决方法 参考文章: (1)JabRef中添加中文文献出现乱码 解决方法 (2)https://www.cnblogs.com/tsingke/p/6516636. ...

  4. cmd命令行mysql乱码解决方法_mysql命令行显示乱码的解决方法

    mysql命令行显示乱码的解决方法:1.打开my.ini配置文件:2.修改配置[default-character-set=utf8]:3.改变数据库的编码方式,如[set character_set ...

  5. c语言 读程序写入结构体,C语言文件写入结构体的乱码解决方法

    C语言中用 fwrite 向文件写入结构体时出现乱码的解决方法,由于fwrite是用于二进制文件的,所以打开直接写入的文件是会出现乱码,这时需要一个中间文件来存储临时数据,就是先将数据存储在一个临时文 ...

  6. idea jdbc插入数据mysql 乱码解决方法

    新手勿喷啊,今天做网页评论功能的时候,只要将中文评论插入数据库的时候会出现???的乱码. public class commitcomment extends HttpServlet {@Overri ...

  7. 从服务上下载下的日志文件,用UltraEdit打开时中文是乱码解决方法

    我刚才从服务器上下载来的日志文件,后缀是.log,用UltraEdit打开时中文全是乱码,解决方法: 1.高级--->配置---->常规 里的 "自动检测到UTF-8文件&quo ...

  8. 【转】QT中使用MYSQL中文乱码解决方法

    [转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...

  9. JSP中文及传中文参数乱码解决方法小结

    在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱码问题以及解决方法. 1.JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在 ...

最新文章

  1. Android数据存储(三)——SQLite
  2. Android 中的安全机制
  3. Linux系统时间同步:ntpdate--在内网中同步时间
  4. swift 简单语句 控制流语句
  5. 管程,进程及线程之间的区别
  6. JS中通过call方法实现继承
  7. 十六进制、RGB 与 VBA颜色值对照表
  8. docker配置 nacos_Nacos - 阿里开源配置中心
  9. 如何使用Bioconductor进行单细胞分析?
  10. java常用api简单统计
  11. 算法导论 练习10.4-5二叉树的遍历
  12. jacket for matlab,打印本页 - 在联想系统上使用Jacket For Matlab
  13. 深入浅出 CAS,很多想进阿里的倒在了这个知识点
  14. 20金融学431考研应该注意些什么
  15. 开源掌机芯片方案对比
  16. 【C++】将小写阿拉伯数字转换为大写汉字数字(将数字用中文的方法读出来)
  17. 「保姆级教学」带你闹清楚JAVA人的TOM猫是啥,再整明白Mac下怎么安装Tomcat
  18. DVWA--SQL Injection(SQL注入-非盲注)(全难度)
  19. ipa 上传卡在鉴权_上传app,一直卡在“正在通过 App Store 进行鉴定”
  20. 网页登陆界面,如何测试?

热门文章

  1. 神策数据:五步构建企业 CDP 全域用户关联数据体系
  2. WiFi共享精灵在使用时出现的错误代码1的解决方法
  3. 百元平价蓝牙耳机推荐:五款口碑强悍的蓝牙耳机
  4. 是时候介绍一下自己了......
  5. 【C++】高斯金字塔和拉普拉斯金字塔原理和实现
  6. linux中时间转换date命令
  7. Python 实现键盘操作之Crtl+方向键
  8. Scintilla如何自定义语法分析器-VS2010
  9. 我的达梦DCA培训小记
  10. glViewport