参数都是QString类型的
std::string textStu = boost::str(boost::format("%s %s %s %s %s %s %s %s %s")
% stuLevel.toLocal8Bit().constData()
% id.toLocal8Bit().constData()
% name.toLocal8Bit().constData()
% sex.toLocal8Bit().constData()
% age.toLocal8Bit().constData()
% stuclass.toLocal8Bit().constData()
% m_penglishScore->value().toLocal8Bit().constData()
% m_pmathScore->value().toLocal8Bit().constData()
% m_pchineseScore->value().toLocal8Bit().constData()
);
std::cout << "textStu :"<< textStu <<std::endl;
//这里再次转回QString 测试一下
QByteArray byteArray = QByteArray::fromRawData(textStu.c_str(), textStu.size());
QString qtStr = QString::fromLocal8Bit(byteArray);
qDebug("\033[31m [APP][func:%s] [line:%d] lgq qtStr = %s\033[0m\n",__func__,__LINE__,qtStr.toUtf8().constData());
303_C++_QT_使用boost::str(boost::format()); 拼接字符串,QT上打印是乱码的解决方式,记录一下,使用toLocal8Bit()转码一下
于 2024-01-10 14:35:54 首次发布