C#中StreamReader读取中文文本出现乱码的解决方法
2012-02-16 17:17
1346 查看
在编写文本文件读写程序的过程中,有如下代码
StreamReader sr = new StreamReader(FileName);
结果发现打开中文文本文件出现乱码。
究其原因,原来自从Windows 2000之后的操作系统在文件处理时默认编码采用Unicode,所以.Net 的文件默认编码也是Unicode。除非另外指定,StreamReader
的默认编码为 Unicode,而不是当前系统的 ANSI 代码页。但是文档大部分还是以ANSI编码储存,中文文本使用的是gb2312,所以才造成中文乱码的状况,也就是说在读取文本的时候要指定编码格式。
但是问题来了,System.Text.Encoding 里面一堆编码格式ASCII、UTF-8等等,要选哪一个好?
其实很简单,用
System.Text.Encoding.Default 告诉
StreamReader 目前操作系统的编码即可。
StreamReader reader = new StreamReader(FileName, System.Text.Encoding.Default)
StreamReader sr = new StreamReader(FileName);
结果发现打开中文文本文件出现乱码。
究其原因,原来自从Windows 2000之后的操作系统在文件处理时默认编码采用Unicode,所以.Net 的文件默认编码也是Unicode。除非另外指定,StreamReader
的默认编码为 Unicode,而不是当前系统的 ANSI 代码页。但是文档大部分还是以ANSI编码储存,中文文本使用的是gb2312,所以才造成中文乱码的状况,也就是说在读取文本的时候要指定编码格式。
但是问题来了,System.Text.Encoding 里面一堆编码格式ASCII、UTF-8等等,要选哪一个好?
其实很简单,用
System.Text.Encoding.Default 告诉
StreamReader 目前操作系统的编码即可。
StreamReader reader = new StreamReader(FileName, System.Text.Encoding.Default)
相关文章推荐
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法(转)
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- 【转载】C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- unity 读取和写入Excel中文出现乱码解决方法
- C#读取中文文件出现乱码的解决方法
- iOS读取txt文件出现中文乱码的解决方法
- JS读取PHP中设置的中文cookie时出现乱码的解决方法
- pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决
- 读取文本出现 锘 * 系列乱码错误(UTF-8 BOM问题)的原因及解决方法
- Windows下php页面读取 mysql"中文数据"出现乱码的解决方法
- Android读取xxx.properties配置文件中文出现乱码解决方法
- Java:InputStream读取文本文件内容出现乱码问题的解决方法
- php读取mysql中文数据出现乱码的解决方法
- Flash读取XML文件的中文时出现乱码问题解决方法