QString转换QByteArray时中文问题解决方案
2018-01-30 16:57
323 查看
平常转换没怎么注意,一般QString转换成QByteArray不会出现问题,今天涉及到QJsonDocument类,转换出现以下问题:
1、用toLocal8Bit()
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError); // 转化为 JSON 文档
if (doucment.isNull() || (jsonError.error != QJsonParseError::NoError)) {
qDebug() << "Error : " << "doucment:" << doucment.isNull() << "jsonError:" << jsonError.error
};
直接Error报错,jsonError错误9。
2、用toLatin1()类虽然可以转换,但是遇到中文,显示?????。
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError);
3、于是用了这个方法,问题解决:
QJsonDocument::fromJson(byteArray.toStdString().data(), &jsonError);
1、用toLocal8Bit()
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError); // 转化为 JSON 文档
if (doucment.isNull() || (jsonError.error != QJsonParseError::NoError)) {
qDebug() << "Error : " << "doucment:" << doucment.isNull() << "jsonError:" << jsonError.error
};
直接Error报错,jsonError错误9。
2、用toLatin1()类虽然可以转换,但是遇到中文,显示?????。
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError);
3、于是用了这个方法,问题解决:
QJsonDocument::fromJson(byteArray.toStdString().data(), &jsonError);
相关文章推荐
- Struts中文(包括资源文件)问题解决方案
- sqlalchemy中文问题解决方案 By tearyrose
- ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
- 彻底解决Spring MVC中文乱码问题的方案
- 原版ubuntu 系统下,emacs24无法输入中文问题解决方案
- 解决Mysql中文乱码问题的方案
- jsp中文问题解决方案
- JsonFormat注解转换时间错误问题解决方案
- MFC 多字节和UNICODE的相互转换(解决中文utf8-ASCNII乱码问题)
- cmder中文显示相关问题解决方案(1.3以上版本)
- JSP中文问题解决方案
- 解决使用JavaScriptConvert转换对象为Json时,中文和&符号被转码的问题
- mysql/mariadb数据库中写入中文报错,编码问题解决方案
- ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)
- 解决SAP中单位转换问题-调用BDC提示单位在中文中未创建
- MySQL 中文模糊查询不正确问题解决方案
- OLE2T在VS2003中转换中文失败的问题及解决方法
- 一个比较愚蠢的办法,解决excel表,关于导出时间类型转换成QString的问题
- 将中文字符串 由char * 转换为NSString *, 解决乱码问题.
- Java工程Properties配置文件注释中文,会自动转换为其他编码方式问题解决