【boost】ptree 读写中文的问题

最经项目中使用到了boost property_tree,却在中文问题上遇到大问题。

直接使用ptree读写存储于窄字符(如string)类型的中文字符串时,程序可以运行,但由于XML默认使用UTF-8字符集,在xml文件中的中文字符不可读。

为了解决这个问题,有两个办法

1、使用wptree和wstring方式配合,这种方式网上可以查到。

2、直接改变xml存储时的编码,如使用gb2312

        xml_writer_settings<char>  ss('*' ,0,"gb2312");

        write_xml(path, m_tree, std::locale(), ss);

 

你可能感兴趣的:(boost)