在使用 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 *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(codec); qDebug() << QString::fromUtf8(u8"你好,世界!"); return 0; }
|