设置 数据库连接池的字符编码与数据库的字符编码一致
我的是utf8mb4
// 设置字符集为 utf8mb4,以确保结果编码正确
con->setClientOption("characterSetResults", (void*)"utf8mb4");
con->setClientOption("characterSetClient", (void*)"utf8mb4");
con->setClientOption("characterSetConnection", (void*)"utf8mb4");
然后从数据库中读取出的数据在windows控制台显示依旧乱码,因为:
在 C++ 中,如果您在控制台中输出中文字符,确保控制台的编码支持 UTF-8。
在某些 Windows 系统上,控制台默认使用的是 GBK 编码,这可能导致 UTF-8 编码的字符出现乱码。
可以尝试以下方法:
在程序开始时设置控制台编码(Windows):
cpp
#include <windows.h>
// 设置控制台输出为 UTF-8
SetConsoleOutputCP(CP_UTF8);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下