c++使用boost来写json的问题

brayding 2014-06-20 11:27:28
c++里使用boost来写json文件,写入中文的时候会被自动转成unitcode

例如想要写入json内容为:
{
"data":
[
{"appid":"Settings","text":"设定"}
]
}

然后调用write_json后,写入的内容为:
{
"data":
[
{
"appid": "Settings",
"text": "\u00E8\u00AE\u00BE\u00E5\u00AE\u009A"
}
]
}

也就是说中文的“设定”两字被改成unitcode的了。这样用read_json读出来的不知道是什么字,显示的乱码。
如果在写的文件里手动把“\u00E8\u00AE\u00BE\u00E5\u00AE\u009A”改成“设定”,那用read_json能正常读出显示。
不知道谁有办法解决此问题?我系统都是用utf-8的格式。
请高人帮忙解决或是提供相应解决代码。谢谢。

引用的头文件为以下两个。
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
...全文
752 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
打错了,不是w参数,是带w的变量就行了
  • 打赏
  • 举报
回复
使用带w的参数解决该问题,我也遇到了,已解决。。。编码问题真多。。。
victor1960 2014-06-20
  • 打赏
  • 举报
回复
楼主先弄清编码的知识吧
newzai 2014-06-20
  • 打赏
  • 举报
回复
直接修改boost的源代码,断点调试进去; 我之前用 boost写 xml出现中文也是不行,boost没有处理中文。。 断点调试,很容易找到修改的地方的

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧