windows下Qt中文乱码问题解决方法

问题:写入日志时遇到中文乱码

写日志接口:debug(char* fmt)

按照如下方式出现乱码:

QString msg = "以中文写入日志";

QByteArray arr = msg.toLantin();

debug(arr.constData());

尝试:

QString msg = QString::fromUtf8("以中文写入日志");

QString msg = QString::fromLocal8Bit("以中文写入日志");

还是乱码。

解决方法:

QTextCodec *codec = QTextCodec::codecForLocale();
QByteArray arr = codec->fromUnicode("以中文写入日志");

debug(arr.constData());

你可能感兴趣的:(Qt)