1. QString使用的是UTF-8编码
  2. 从字符常量中获取中文

QString msg = QString::fromLocal8Bit("This is a debug message at 中文");

  1. 以QString做为形参变量传递

qDebug(msg.toUtf8());

  1. QString与操作系统间读写,会自动将UTF-8与操作系统的编码做转换(比如日志系统)
void QtLog::WriteLine(const QString &logFileName, const QString &logMsg)
{
    QFile file(logFileName);
    file.open(QIODevice::WriteOnly | QIODevice::Append);
    QTextStream text_stream(&file);
    text_stream << logMsg << "\r\n";
    file.flush();
    file.close();
}
    QString strAppDir = QCoreApplication::applicationDirPath();  // 不用转码
    QString message, text, fileName = strAppDir + "/Log/";
    QDir dir(fileName);
    if (!dir.exists())
    {
        // 注:不能创建两级文件夹
        bool ismkdir = dir.mkdir(fileName);
    }