找回密码
 立即注册
收起左侧

QJson文件中文编码问题

4
回复
11292
查看
[复制链接]
累计签到:25 天
连续签到:1 天
来源: 2016-4-20 10:04:27 显示全部楼层 |阅读模式
5Qter豆
QJSON文件中有中文字符串,QT5.5.1进行解析时,中文会乱码显示,解析方式如下:
map0[i]=result[SAFC_str[i]].toMap();//第0层       map0_name[i]=map0[i]["name"].toString();
网上搜了下,以下几种方法都不能解决
1)在main()函数内的添加代码,利用QTextCodec来进行设置。
        // 以下部分解决中文乱码    QTextCodec *codec = QTextCodec::codecForName("utf8"); //GBK gbk    QTextCodec::setCodecForTr(codec);    QTextCodec::setCodecForLocale(codec);    QTextCodec::setCodecForCStrings(codec);        // 以上部分解决中文乱码---------NO
2)具体的转换代码看下面:
#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QLabel hello(QObject::tr("你好世界"));
hello.setWindowTitle(QObject::tr("Qt中文显示"));
hello.show();
return app.exec();
}
------qt4方法,NO


回复

使用道具 举报

尚未签到

2016-4-20 16:32:10 显示全部楼层
编码问题论坛里面已经有很多答案了,qt4到qt5都有,搜一下论坛里面吧
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2016-4-21 08:58:59 显示全部楼层
你先把那个要解析的文件上传过来,我看看。或者去这个网站 http://www.bejson.com/  。这个是在线解析。如果解析不了,可能是你那个文件问题
回复

使用道具 举报

累计签到:25 天
连续签到:1 天
2016-4-21 20:33:10 显示全部楼层
cai901022 发表于 2016-4-21 08:58
你先把那个要解析的文件上传过来,我看看。或者去这个网站 http://www.bejson.com/  。这个是在线解析。如 ...

谢谢大侠提供的网址,以后可以用来检查文件是否正确。我后来找到不能显示中文的原因了,是因为我的编码方式没有选对,将json文件的编码方式改为“utf-8"以后,中文内容就可以被解析并显示了
回复

使用道具 举报

累计签到:25 天
连续签到:1 天
2016-4-21 20:34:06 显示全部楼层
cai901022 发表于 2016-4-21 08:58
你先把那个要解析的文件上传过来,我看看。或者去这个网站 http://www.bejson.com/  。这个是在线解析。如 ...

谢谢大侠提供的网址,以后可以用来检查文件是否正确。我后来找到不能显示中文的原因了,是因为我的编码方式没有选对,将json文件的编码方式改为“utf-8"以后,中文内容就可以被解析并显示了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了