Jsoncpp与中文出现的问题
一般我们在vs中都是GBK编码,如果我们要给json赋值一个中文字符串怎么办
jsRes[“body”][“message”] =“我是中国人”;
对方收到是一串类似\u8bc6\u522b\u5931\u8d25 \u9700\u7ee7\u7eed\u62cd\u7167
看着是Unicode,但是转码后又不是,怎么办呢。
看我怎么处理,如果直接赋值中文这么办:
std::string GbkToUtf8(const char *src_str)
{int len = MultiByteToWideChar(CP_ACP, 0, src_str, -1, NULL, 0);wchar_t* wstr = new wchar_t[len + 1];memset(wstr, 0, len + 1);MultiByteToWideChar(CP_ACP, 0, src_str, -1, wstr, len);len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len + 1];memset(str, 0, len + 1);WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);std::string strTemp = str;if (wstr) delete[] wstr;if (str) delete[] str;return strTemp;
}
//std::string tmpUTF8 = GbkToUtf8("我是中国人");//\u8bc6\u522b\u5931\u8d25 \u9700\u7ee7\u7eed\u62cd\u7167
//jsRes["body"]["message"] = tmpUTF8;或者
//std::string tmpUTF8 = GbkToUtf8("\u8bc6\u522b\u5931\u8d25 \u9700\u7ee7\u7eed\u62cd\u7167");
//jsRes["body"]["message"] = tmpUTF8;
这样都可以
Jsoncpp与中文出现的问题相关推荐
- jsoncpp中文乱码,中文显示为\u问题处理;jsoncpp中文乱码解决;源码方式使用jsoncpp;UTF_8和ASSIC相互转换;
一.jsoncpp中文写入为\u****问题处理:jsoncpp中文乱码解决: 当我们使用jsoncpp读取写入json文件时,会发现明明是中文字符串,但是赋值给Json::Value后却变成\u** ...
- c++json库(jsoncpp)简单使用(包含下载使用方法,中文错误解决方案)
c++json库(jsoncpp)简单使用方法(含下载) 下载地址:jsoncpp的github仓库地址:open-source-parsers/jsoncpp: A C++ library for ...
- 使用jsoncpp解析json文件
{"name" : "雄霸天下","no_camp" : 0,"save_state" : 1,"state_ ...
- VC/MFC 使用jsoncpp解析json格式内容
需求: VS编译工具(这里使用的是VS2012) jsoncpp-src(这里使用的是jsoncpp-src-0.6.0-rc2,CSDN的资源积分规则限制,现改为网盘存储 下载链接:https:// ...
- C++图书馆管理系统——基于jsoncpp与windows.h
0. 演示视频 先直接上演示视频看看具体的实现效果 C++图书馆管理系统--基于jsoncpp和windows.h 系统的代码打包为百度云 链接:https://pan.baidu.com/s/1Lm ...
- java tcp 乱码_tcp通信 中文乱码问题
项目是TCP实时通信的对战游戏, 协议json格式,其中注册时需要传入昵称,用户名等中文信息:刚开始以为是服务端解的问题呢,我这边用utf-8 编码的,后来发现客户端传出去的就是乱码了 {" ...
- linux/docker个人服务器项目中文变问号??,时间差8小时问题解决方法,最新,最有效
前段时间在腾讯云上面买了一台个人服务器,在搭建好web项目的时候,在项目中录入中文,全部变成了问号,时间也错了,百思不得其解,后来我尝试着修改docker编码,修改系统语言,都无法改变.后来我把项目从 ...
- python3+ 解决写入中文乱码的问题
case1: json格式 import json data = [{'id': ' 002', 'name': ' 小明', 'type': ' Grass', 'typeTwo': ' Poiso ...
- Visual Studio 中文显示乱码问题
今天在码云上Fork了一个开源工程,编译环境是Visual Studio C++, 由于自己本地平台主要是进行Linux开发,平时文档编码格式都是utf-8的,编译没问题,但运行起来就是乱码,就像下图 ...
最新文章
- org.hibernate.TypeMismatchException: Provided id of the wrong type for class *** Expected ***
- MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
- Linux 文件目录特殊权限设定(SUID,SGID,SBIT)
- 今天你们表现的真棒!!!
- 介绍JBoss BPM Suite安装程序
- vue笔记(二)Vue-class与style、事件、计算属性、数据监听、指令+自定义指令、过滤器
- 基于ubuntu18.04LTS SERVER版的基础系统安装过程
- 《简明Python教程》学习笔记
- TestBed静态测试步骤
- 解决office怎么卸载都卸载不干净的终极办法。
- DAY07-ES5-String
- pidgin qq_Pidgin入门:Skype的开源替代品
- IOl数据流中的字节流
- 后摩尔时代新星之自旋电子器件
- 图象关于y轴对称是什么意思_关于x轴对称-图象关于y轴对称是什么函数
- 微信气泡主题设置_微信气泡主题华为手机要怎么弄 华为手机微信气泡主题设置方法介绍...
- 如何快速查看电脑的IP和MAC
- SketchUp 2019 建筑透视剖面图教程
- Python入门之基础知识(三)
- Qt for python QChartView鼠标滚动放大缩小