QSettings 的 ini文件
语法:由节、键、值组成
节:section
参数:(Key键= value值 )
ini文件注释一分号(;)开头
QSettings settings("config.ini",QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8")); //在此添加编码格式设置(如果INI文件编码为UTF-8则这里设置UTF-8,如果为GB2312,则这里设置GB2312,两者一致),即可读写ini文件中的中文
注意:似乎只能解决 value的中文显示问题。
section 和 key依然乱码,不过由于这2个要在算法中参与运算,采用多国语言的话,会让程序变得复杂。
2. QSettings 默认按照“字符编码”排序,有些场景下不容易处理?
================
使用QT的QSettings读写ini配置文件时,如果文件中有中文或者要把中文写到配置文件,出现了乱码现象。
解决办法:
我的工程文件使用了默认的编码方式(win7 qt4.8+vs2008)system,在读写配置文件的时候,在
QSettings set(filePath, QSettings::IniFormat);
之后,读数据之前添加如下代码:
set.setIniCodec(QTextCodec::codecForName("system"));
编码方式可根据实际情况进行修改
说明:使用QSettings会导致配置文件中的注释在写文件时被清掉
参考:https://blog.csdn.net/houxiaoliwang/article/details/104989680
版权声明:本文为ken2232原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。