针对BasicExcel保存中文文件名乱码的解决方案

下午针对项目中导出excel时,针对导出文件名为中文乱码的问题进行排查,经过单步调试,发现问题出在BasicExcel使用fstream对象打开含中文路径的文件时,其生成的文件即是乱码,进入file_.open()方法,可以发现open的实现里用到了mbstowcs_s函数,而此函数依赖于本地化的设置,估通过以下代码可解决其创建含中文路径文件的支持:

1 setlocale(LC_ALL,"Chinese-simplified");//设置中文环境 
2 file_.open(&*(filename_.begin()), mode_ | ios_base::binary);
3 setlocale(LC_ALL,"C"); 

 

 

附件为修改过的BasicExcel

 BasicExcel.rar

posted @ 2013-03-18 17:27  sunsmile8101  阅读(2043)  评论(0编辑  收藏  举报