Jsoncpp库中的UTF-8

问题描述

在项目中使用jsoncpp lib时遇到问题。我试图读取,编辑和写入本地json文件。我的问题是,我找不到找到对UTF-8进行写入/读取编码的方法。它始终使用ASCII。这是一个示例Json文件

{"Name": "Müller"}

我正在这样使用它:

std::ifstream ifs;
std::ofstream ofs;
Json::CharReaderBuilder builder;
Json::StreamWriterBuilder wbuilder;
const std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
Json::String errs;

parseFromStream(builder,ifs,&root,&errs);

string name = root["Name"].asstring();
//if i try to use this data in my wxWidgets Gui Now,the Output would be sth like M�ller

root["Straße"] = "Ahornweg 5";

writer->write(root,&ofs);

如果我像这样使用它,则jsonfile看起来像这样:

{ "Stra\u00dfe": "Ahornweg 5","Name":"M�ller"}

希望有人可以帮助我。感谢您的帮助。

解决方法

对于以后想知道这个问题的任何人来说,我是编码方面的初学者,花了我一些时间,但它与您在IDE中使用的编码有关。确保它确实是UTF-8!