QString包含中文时转char*乱码

 MSVC编译器,main函数中添加:

QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());

同时,使用char*字符串构造Qstring时, 使用QString::fromLocal8Bit()即可。转换的时候,先将QString转换为QByteArray,然后取QByteArray的data。注意不要连用QString().toLocal8Bit().data()。如下分开写即可:

		QString path = _exportDataFileInfoList[i].absoluteFilePath();
		QByteArray array = path.toLocal8Bit();
		char *str = array.data();

 

你可能感兴趣的:(Qt)