在VS2022中用C++连接MySQL数据库读取数据库乱码问题

server/2025/1/22 8:55:08/

1.正确安装mysql

安装之后的配置文件

2.在VS2022中进行相关配置

(1)右键项目,打开属性

注意是右键项目,不是.cpp文件

(2)配置属性-> VC++目录  -> 包含目录 ->添加头文件路径(如图)

(3)配置属性-> VC++目录  -> 库目录 ->添加动态库路径(如图)

(4)在  链接器 -> 输入 ->附加依赖项 中输入libmysql.lib

(5)  将了lib文件夹中的libmysql.dll文件  复制到C:\Windows\System32

接下来 就可以可以运行代码了

#include<iostream>
#include<mysql.h>using namespace std;int main() {MYSQL* conn;   // MySQL连接MYSQL_RES* res;   // MySQL查询结果MYSQL_ROW row;   // MySQL行// std::locale::global(std::locale("en_US.UTF-8"));  // 将程序的全局区域设置为 UTF-8 区域,//连接数据库的信息const char* server = "localhost";const char* user = "ml";const char* password = "123456";const char* datebase = "testdb";// 初始化MySQL连接conn = mysql_init(NULL);// 连接数据库if (conn == NULL) {cerr << "MYSQL数据库初始化失败" << endl;return 1;}if (mysql_real_connect(conn, server, user, password, datebase, 0, NULL, 0) == NULL) {cerr << "MYSQL数据库连接失败:" << mysql_error(conn) << endl;return 1;}// 查询数据库mysql_query(conn, "set names utf8");if (mysql_query(conn, "SELECT * FROM tb_user")) {cerr << "查询失败" << mysql_error(conn) << endl;return 1;}// 获取查询结果res = mysql_use_result(conn);//输出结果/*while ((row = mysql_fetch_row(res)) != NULL) {cout << row[0] << " " << row[1] << endl;}*/// 逐行输出结果while ((row = mysql_fetch_row(res)) != NULL) {// 输出当前行的所有列数据for (int i = 0; i < mysql_num_fields(res); ++i) {if (i > 0) {cout << " ";  // 列之间用空格分隔}if (row[i] == NULL) {cout << "NULL";  // 处理 NULL 数据}else {cout << row[i];}}cout << endl;  // 行尾输出换行符}// 释放结果mysql_free_result(res);// 关闭连接mysql_close(conn);return 0;
}

3.中文乱码

运行之后,中文乱码

这是因为:数据库编码格式为utf8mb4,但是黑窗口gbk,

所以要进行全局编码设置

问题解决!!


http://www.ppmy.cn/server/160408.html

相关文章

CSS语言的数据类型

CSS数据类型详解 CSS&#xff08;层叠样式表&#xff09;作为网页设计中的重要组成部分&#xff0c;主要用于控制网页的布局、样式和外观。CSS的强大之处在于其丰富的数据类型&#xff0c;这些数据类型决定了我们如何在网页上应用样式。本文将详细介绍CSS的各种数据类型&#…

Whisper-GPT:混合表征音频大语言模型

Whisper-GPT:混合表征音频大语言模型 当下,利用从神经压缩算法(例如#Encodec#​)派生的离散音频标记的生成式音频、语音以及音乐模型数量激增。然而,这种方法的主要缺陷之一在于对上下文长度的处理。如果必须考虑所有不同频率的音频内容才能进行下一个标记预测,那么高保…

去哪儿kafka优化案例

一、背景介绍 集群概况 去哪儿旅行当前KAFKA日志集群节点145台。单机配置&#xff1a;3TSSD盘&#xff0c;40核&#xff0c;128G内存。 业务背景 日志KAFKA集群承载了全司的APPCODE日志&#xff0c;比如我们常用的QTRACE日志&#xff0c;以及实时离线数仓数据。体量非常大。…

实现一个自己的spring-boot-starter,基于SQL生成HTTP接口

上一篇博文介绍了Spring Boot Starter&#xff0c;这次我们就实现一个自己的starter模块&#xff0c;引入了该模块&#xff0c;项目就自然具有了通过配置SQL自动生成HTTP接口的能力。 完整代码可以到github下载&#xff1a;https://github.com/chengpei/sqlapi-spring-boot-sta…

win32汇编环境,窗口程序中复杂列表框的应用举例

;运行效果 ;双击到根目录后 ;win32汇编环境,窗口程序中复杂列表框的应用举例 ;在窗口程序中生成复杂列表框,增加子项,删除某项,取得指定项内容,在列表框内展示某文件夹内的文件列表,选定某文件夹后双击打开,返回上层目录再打开等 ;直接抄进RadAsm可编译运行。重点部分加备…

天机学堂7--Redisson自定义注解AOP以及SPEL表达式实现分布式锁

文章目录 集群下的锁失效问题Redis中的setnx命令实现分布式锁setnx基本原理死锁问题利用Redis实现的简单分布式锁流程setnx的分布式锁的问题锁误删问题超时释放问题其它问题 Redisson基于注解的分布式锁工厂模式 选择锁类型策略模式提供 重试策略 失败策略组合基于SPEL的动态锁…

智谱四大免费模型GLM-4-FLASH系列

1、智谱四大免费模型 模型类型 智谱AI目前发布了四大免费模型&#xff0c;分别是文本模型GLM-4-Flash&#xff0c;图片识别模型GLM-4V-Flash&#xff0c;图片生成模型CogView-3-Flash&#xff0c;视频生成模型CogVideoX-Flash。 产品线全面性 智谱AI是目前国内模型厂商中产品…

TensorFlow深度学习实战——情感分析模型

TensorFlow深度学习实战——情感分析模型 0. 前言1. IMDB 数据集2. 构建情感分析模型3. 预测输出相关链接 0. 前言 情感分析 (Sentiment Analysis) 是一种自然语言处理 (Natural Language Processing, NLP) 技术&#xff0c;旨在分析和识别文本中的情感倾向&#xff0c;情感分…