我使用protobuf来读写配置文件。但我发现中文字符无法正确写入文件。
编码:
zrd::Config cfg;
zrd::Market *market = nullptr;
market = cfg.add_market();
market->set_id("11");
market->set_name("清江冷链市场");
market->set_district("六合区");
string content;
google::protobuf::TextFormat::PrintToString(cfg, &content);
运行完成后,内容如下:
市场{\ n id:\" 11 \" \ n名称:\" \ 346 \ 270 \ 205 \ 346 \ 261 \ 237 \ 345 \ 206 \ 267 \ 351 \ 223 \ 276 \ 345 \ 270 \ 202 \ 345 \ 234 \ 272 \" \ n分区:\" \ 345 \ 205 \ 255 \ 345 \ 220 \ 210 \ 345 \ 214 \ 272 \&# 34; \ N}
为什么汉字会转换成那种方式?当我使用ofstream将内容写入文件时,这样的汉字不方便阅读。但是probobuf可以成功解码它。
我想知道是否有办法以正确的方式保存汉字?