1. 先解决QT + MSVC乱码:
在pro文件中添加
msvc {QMAKE_CFLAGS += -utf-8QMAKE_CXXFLAGS += -source-charset:utf-8QMAKE_CXXFLAGS += -execution-charset:utf-8
}
2. 解决QT + MSVC + spdlog乱码:
情况:写入文件的中文显示正常,但是qt console中spdlog打印的日志是乱码
编码问题,解决方法:
QString message = "你好 spdlog";QTextCodec *sysCodec = QTextCodec::codecForLocal();
QByteArray arr = sysCodec->fromUnicode(message);
std::string resMsg(arr.data());logger.info(resMsg); // logger is spdlog