c++ - Jsoncpp 库中的 UTF-8
问题描述
在项目中使用 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"}
希望可以有人帮帮我。感谢您的每一次帮助。
解决方案
对于将来想知道的任何人,阅读这个问题,我花了一些时间,因为我是编码的初学者,但这与您在 IDE 中使用的编码有关。确保它真的是 UTF-8!
推荐阅读
- scala - 如何使用 spark-scala 在 spark 数据帧上执行枢轴?
- python - pgpy key.decrypt 没有返回解密的文本
- python - 你好,我需要帮助将我的 spyder 源代码与 excel 表连接起来。第一个问题
- python - 远程 GUI 更改设置
- blockchain - ERC1155 代币,如何创建 ERC1155 代币
- java - maven构建后无法看到jar中的csv文件
- python - 如何获得我想要的所有网址?
- android - 如何使用箭头键/dpad 禁用菜单导航的音效?
- python - 在 Beautiful Soup 中使用 find 方法解析不一致
- android - 谷歌日历没有返回其中创建的事件的当前状态