解决QDebug打印中文乱码问题

在使用 Qt 开发时,qDebug 打印包含中文的 QString 可能会出现乱码。这通常是由于字符编码不一致导致的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <QDebug>
#include <QTextCodec>
#include <Windows.h>

int main() {

//设置QTextCodec
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);

// 将字符串转换为 UTF-8 编码,然后再传递给 qDebug 打印。
qDebug() << QString::fromUtf8(u8"你好,世界!");
return 0;
}