关于QT 打印中文 乱码问题

打印qDebug() << "创建/打开 数据库成功!";

实际终端窗口打印鍒涘缓/鎵撳紑 鏁版嵁搴撴垚鍔燂紒

这是典型的 UTF-8 编码字符串被错误地以 GBK(或 CP936)编码解析 所导致的乱码。

这说明:

程序内部已经正确使用了 UTF-8(源文件是 UTF-8)

但 控制台(Console)显示时用了 GBK 编码,导致乱码

✅ 最佳解决方案(Windows)

✅ 步骤 1:确保源文件为 UTF-8 without BOM

在 Qt Creator 或编辑器中:

右键 .cpp 文件 → 另存为 → 编码选择 UTF-8(不要带 BOM)

✅ 步骤 2:在 main() 中切换控制台编码为 UTF-8

cpp 复制代码
#include <QCoreApplication>
#include <QDebug>

#ifdef Q_OS_WIN
    #include <cstdlib> // for system()
#endif

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

#ifdef Q_OS_WIN
    system("chcp 65001 > nul"); // 切换到 UTF-8 编码
#endif

    qDebug() << "创建/打开 数据库成功!";

    return a.exec();
}
相关推荐
彭于晏Yan5 小时前
IDEA如何进行远程Debug
java·ide
m0_748248025 小时前
Redis 简介与安装指南
数据库·redis·缓存
上去我就QWER7 小时前
Qt中如何获取系统版本信息
开发语言·qt
木木子99998 小时前
业务架构、应用架构、数据架构、技术架构
java·开发语言·架构
Elastic 中国社区官方博客10 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
qq_54702617910 小时前
Flowable 工作流引擎
java·服务器·前端
鼓掌MVP11 小时前
Java框架的发展历程体现了软件工程思想的持续进化
java·spring·架构
编程爱好者熊浪11 小时前
两次连接池泄露的BUG
java·数据库
lllsure11 小时前
【Spring Cloud】Spring Cloud Config
java·spring·spring cloud
鬼火儿12 小时前
SpringBoot】Spring Boot 项目的打包配置
java·后端