只要读写统一使用一个编码,并用setIiniCodec指定,就可以读写中文。
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QString strPath = QCoreApplication::applicationDirPath()+"/sayezb.ini";
QSettings *configIniRead1 = new QSettings(strPath, QSettings::IniFormat);
configIniRead1->setIniCodec("UTF-8");
configIniRead1->setValue("/database/skr", "分店");
delete configIniRead1;
QSettings *configIniRead = new QSettings(strPath, QSettings::IniFormat);
configIniRead->setIniCodec("UTF-8");
QString str = QString::fromUtf8(configIniRead->value("/database/skr").toByteArray());
delete configIniRead;