c++使用boost来写json的问题
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>