问题描述
在项目中使用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!