除非另外指定,StreamReader 的默认编码为 UTF-8,而不是当前系统的 ANSI 代码页。
因此读取简体中文会出现乱码,可以指定编码正确显示GB2312简体中文.
StreamReader streamopen=new StreamReader(@"d:/1.txt",System.Text.Encoding.Default);
string strOpen=streamopen.ReadToEnd();
streamopen.Close();
或者System.Text.Encoding.Default换成System.Text.Encoding.GetEncoding("gb2312")
用StreamWriter保持txt文件时也是这种方法:
StreamWriter streamsave=new StreamWriter(@"d:/1.txt",false,System.Text.Encoding.Default);
streamsave.Write("一二三");
streamsave.Close();
- 本文标题: WinForm 读取记事本乱码的解决方案
- 文章分类:【WinForm/WPF】
- 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.