开发项目的时候在使用boost,在宽字符下遇到中文乱码问题
上网上看大家都是先转成utf8在进行解析的,例如:
http://blog.csdn.net/hu_jiangan/article/details/49945373 中
void Init(const wstring& fileName, wptree& ptree)
{
std::wifstream f(fileName);
std::locale utf8Locale(std::locale(), new std::codecvt_utf8<wchar_t>);
f.imbue(utf8Locale); //先转换一下
//用wptree去解析
property_tree::read_xml(f, ptree);
}
他的思路没有问题,并且还用了STL库,避免了boost的繁琐。
但是在boost中对read_xml定义里包含了对xml的转换
1 template<class Ptree> 2