最近遇到一个问题,就是输出到csv文件时,含有中文字符会乱码的现象。
1、问题分析
首先,c#一般的文件写入是采用utf8的编码,无独有偶,excel正好不兼容这种格式的编码,因此excel会用ansi的编码进行解析你的文档,出现乱码。
2、解决方式
因此,采用系统默认的编码方式ansi就能和excel达成一致,顺利解决乱码情况
在后面添加上Encoding就可以啦
using( StreamWriter fs=new StreamWriter(f.FullName,true,Encoding.Default))
{
fs.write("字符串");
}