关于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();
}
相关推荐
csdn5659738504 分钟前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar
m0_7434703719 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
Demon_Hao26 分钟前
JAVA通过Redis实现Key分区分片聚合点赞、收藏等计数同步数据库,并且通过布隆过滤器防重复点赞
java·数据库·redis
华科易迅37 分钟前
Spring装配对象方法-注解
java·后端·spring
掘根1 小时前
【微服务即时通讯】消息转发子服务
数据库·oracle
喜欢喝果茶.1 小时前
SQL 预处理
数据库·sql
庄周的大鱼1 小时前
分析@TransactionalEventListener注解失效
java·spring·springboot·事务监听器·spring 事件机制·事务注解失效解决
史蒂芬_丁2 小时前
C++深度拷贝例子
java·开发语言·c++
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【4】ReAct 范式与 ReactAgent 核心设计
java·人工智能·spring
数据科学小丫2 小时前
Python 数据存储操作_数据存储、补充知识点:Python 与 MySQL交互
数据库·python·mysql