3. 尝试使用QSettings读取中文内容 在设置了正确的编码后,尝试读取包含中文的配置文件内容。如果仍然出现乱码,可能是因为文件本身的编码不正确,或者读取方式有误。 4. 查找QSettings读取中文乱码的常见解决方案 确保配置文件编码正确:配置文件(如INI文件)应保存为UTF-8或GBK等编码格式。可以使用文本编辑器(如Notepad++)查
QSettings* configInfo= newQSettings("config.ini", QSettings::IniFormat);// 读取配置文件configInfo->setIniCodec("utf-8");// 解决乱码QString result = configInfo->value("/config/key").toString();// 读取值 其中:“configInfo->setIniCodec("utf-8");// 解决乱码” 这句话是关键点,同时我...
QSettings* configInfo= new QSettings("config.ini", QSettings::IniFormat); // 读取配置文件 configInfo->setIniCodec("utf-8");// 解决乱码 QString result = configInfo->value("/config/key").toString(); // 读取值 1. 2. 3. 其中:“configInfo->setIniCodec("utf-8");// 解决乱码” 这...
QSettings使用简单,主要是很多同学在使用中文的时候出问题。要么写入了乱码,要么读取了乱码。其实,编码问题我们只需要把写或者读的过程,一步步拆开来理解,他就被扒光,没有秘密了。 写UTF8编码的字符串 (A):1.将A以utf8 编码成二进制数据a,将该二进制数据a,写入文档。 读UTF8编码数据:获取二进制数据a,以utf8...
(fileName , QSettings::IniFormat);//设置文件编码,配置文件中使用中文时,这是必须的,否则乱码setting->setIniCodec(QTextCodec::codecForName("UTF-8"));// 判断文件是否存在if(QFile::exists(fileName)){// 文件存在,读出配置项// 这里的setting->value的第二参数,是配置项缺省值,即当读取的配置项不...
servername=谢谢你,然后用这个例子程序打开,显示 servername QString ллÄã 显示会不正常,然后我试着把乱码,修改为中文串“帮帮忙”,显示正常。保存后再看: servername=\x5e2e\x5e2e\x5fd9 然后再打开: servername QString 帮帮忙 晕!
QSettings ..QSettings向ini文件写入后(未指定QSettings编码格式),读取为乱码,内容为[statusSetting]ChangeToAway=1ChangeToBusy=1AutoReplySt
).toSize();contains() 判断⼀个指定的键是否存在 remove() 删除相关的键 allKeys() 获取所有键 clear() 删除所有键 注意:解决value读写的中⽂乱码问题,添加代码setting.setIniCodec("GBK")或者 setting.setIniCodec(QTextCodec::codecForName("GB2312"));即可。⽬前还未解决其键值的中⽂乱码问题。
前段时间,有网友抱怨,QSettings 的ini格式中,在section和key中的中文在文件中看到的是乱码(其实是汉字对应的utf16的转义字符)。就以此开始吧: 一个自定义的 .ini 格式的文件 文件中的 section 和 key 都可以直接显示中文 section 的 嵌套方式采用 [A/B/C] ...
在上面的示例代码中,我们首先设置QSettings默认使用UTF-8编码,然后通过注册一个新的INI格式,指定读取和写入的函数,实现对UTF-8编码的支持。接着我们使用QSettings类来写入和读取中文键值,最后打印出读取到的中文值。 通过以上方法,我们可以正确地获取中文键值,避免出现乱码等问题。希望这篇文章能帮助大家更好地使用QSe...