C#读文件时出现中文乱码问题的解决方案

---------------亦适用于Linux 下的 mono环境 

 

前几天发现用StreamReader 读取含有中文字符的txt文件时,会出现乱码的情况,后来查了资料并尝试之后,找到了原因,这里用的是
Visual Studio 2010
.Net 4.0
WPF 项目
底下的  txtUrl 替换成 txt文本文件的路径就可以了。

使用StreamReader 的时候,
按以下代码编写,都会出现乱码,原因是,必须使用 GB2312 的编码方式读取中文字符才不会出错。
StreamReader reader = new StreamReader(txtUrl);
StreamReader reader = new StreamReader(txtUrl, Encoding.UTF8);


正确写法是:
StreamReader reader = new StreamReader(txtUrl, Encoding.GetEncoding("gb2312"));

 


 

你可能感兴趣的:(linux,.net,C#,WPF,2010)