大号在练葵花宝典 发表于 2025-4-7 22:00:25

【Json-RPC框架】:Json序列化后,不能显式中文?增长emitUTF8配置

解决办法:
给工厂类设置emitUTF8=true。
   swbuilder.settings_["emitUTF8"]=true;
static bool serialize(const Json::Value &val,std::string &body) {
    std::stringstream ss;
    Json::StreamWriterBuilder swbuilder;

    //配置信息
    swbuilder.settings_["emitUTF8"]=true;


    std::unique_ptr<Json::StreamWriter> sw(swbuilder.newStreamWriter());
    int n=sw->write(val,&ss);
    if(n!=0)
    {
      LOG("sw->write(val,&ss) error!");
      return false;
    }
    body=ss.str();
    return true;
} https://i-blog.csdnimg.cn/direct/b248c507ff67409fb4755c51b6bff583.png
这就是在用中间类Value存储的时候,存的是中文,但是在write转化的时候,UTF8字符转化成为了
unicode的情势。
   

[*] \u6c34 对应的 Unicode 字符是 "水"。
[*] \u679c 对应的 Unicode 字符是 "果"。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Json-RPC框架】:Json序列化后,不能显式中文?增长emitUTF8配置