我在一个项目中使用jsoncpp库时遇到了一个问题。我试图读取、编辑和写入一个本地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"}
希望有人能帮助我。每一个帮助都是感激不尽的。
1条答案
按热度按时间ubbxdtey1#
对于将来想知道这个问题的人来说,我花了一些时间,因为我是一个编码初学者,但它与您在IDE中使用的编码有关。请确保它确实是UTF-8!