c++连接mysql时,比如查询语句中含有中文,或者得到结果中含有中文,经常出现编译出错或乱码问题。
VS编译器默认使用gbk编码。
如果将mysql设置为utf-8编码,则需要先将c++中的各种中文字符串转为utf-8编码输入mysql,得到的结果为utf-8编码,需要转为gbk才能正常显示。转来转去很麻烦。
换个角度,将mysql设置为gbk编码,这不就大功告成了吗?附代码如下:

#include <iostream>
#include <winsock2.h>
#include "mysql.h"using namespace std;
int main(int argc, char* argv[])
{mysql_library_init(NULL, 0, 0);MYSQL mysql;mysql_init(&mysql);if (0 == mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))//设置字符集{cout << "设置字符集成功\n\n" << endl;}if (!mysql_real_connect(&mysql, "localhost", "root", "123456", "测试", 3306, NULL, CLIENT_MULTI_STATEMENTS))//连接数据库{cout << "not connect mysql" << endl;}else{cout << "welcome to mysql\n\n\n";}mysql_query(&mysql, "select * from 学生信息");          //执行SQL语句MYSQL_RES *result = mysql_use_result(&mysql);       //获取资源int rowcount = mysql_num_rows(result);                //获取记录数unsigned int fieldcount = mysql_num_fields(result);   //获取字段数MYSQL_FIELD *field = NULL;                            //字段MYSQL_ROW row = NULL;                         //记录while (row = mysql_fetch_row(result)){for (unsigned int i = 0; i<fieldcount; i++){field = mysql_fetch_field_direct(result, i);cout << field->name << ":" << row[i] << "\n";}}mysql_free_result(result);mysql_close(&mysql);mysql_server_end();mysql_library_end();return 0;
}

c++连接mysql的中文编码问题相关推荐

  1. mac php 连接mysql数据库_Mac环境下php操作mysql数据库的方法分享

    Mac环境下php操作mysql数据库的方法分享 今天在mac上搭建好了php的环境,我们就把php操作mysql数据库的方法分享给大家,有需要的小伙伴参考下. Mac本地环境搭建 在Mac系统,我们 ...

  2. mac php 连接mysql数据库_Mac环境下php操作mysql数据库的方法分享_PHP教程

    Mac环境下php操作mysql数据库的方法分享 今天在mac上搭建好了php的环境,我们就把php操作mysql数据库的方法分享给大家,有需要的小伙伴参考下. Mac本地环境搭建 在Mac系统,我们 ...

  3. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  4. SQLALchemy之Python连接MySQL

    20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...

  5. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  6. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql

    下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...

  7. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  8. mysql submission_date_UiPath如何连接MySQL

    UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...

  9. python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

最新文章

  1. VPLS(Virtual Private LAN Service)
  2. Scrum Master角色可能消失吗?
  3. [转载翻译][重新整理]西川善司的”METAL GEAR SOLID 4”图形讲座(5)
  4. 解放你内心的自然领袖,从你的内心而非你的自我来领导你自己
  5. springmvc中的类型转换器
  6. python 栈实现
  7. mysql数据库索引 分区_数据库设计 – 要索引的列太多 – 使用mySQL分区?
  8. Jsp servlet mysql 学生信息管理系统
  9. mysql数据库权限传递,mysql数据库权限分配-参考
  10. Visual Assist X Options 注释设置-类
  11. jsonp实现原理详细介绍
  12. 在线客服系统可以帮助企业解决哪些问题?
  13. 控制器同变频器建立modbus RTU通信小结
  14. 就算是一件小事也要做好——买土豆的故事
  15. 爬取图片案例2(Ajax网页异步加载、Queue队列、线程池)
  16. 微博怎么批量取消所有的关注
  17. portal服务器信息超时,某学校Agile Controller-Campus(V100R003C50SPC300)作为portal服务器用户反映认证通过后一定时间内掉线需重新认证问题排查...
  18. DirectShow资料
  19. Centos显示“用户名不在sudoers文件中,此事将被报告”
  20. required属性

热门文章

  1. java高级-----流
  2. Android之打开闪光灯关键代码
  3. Maven系列一pom.xml 配置详解
  4. tensorflow 在加载大型的embedding模型参数时,会遇到cannot be larger than 2GB
  5. 开源2D图形库/图形框架
  6. 《算法与数据结构---C语言描述》优先队列
  7. php json_encode 中文乱码解决方法
  8. 【报告分享】2021新中产人群洞察报告.pdf(附下载链接)
  9. PyTorch 深度学习:31分钟快速入门——Batch Normalization
  10. 很有趣的STL初学资料