我的代码是这样的:
FileStream fs = new FileStream( "data\\CurrentDatabase.ini", FileMode.Open );
StreamReader sr = new StreamReader(fs);
while( (str=sr.ReadLine()) != null )
{
......
}

解决方案 »

  1.   

    参数加个System.Text.Encoding.Default
      

  2.   

    StreamReader sr = new StreamReader("data\\CurrentDatabase.ini",Encoding.GetEncoding("GB2312") );
      

  3.   

    我也遇到过同样的问题,
    解决方法同上面说的
    参数上加一个System.Text.Encoding.Default
    原因是字符编码的问题,参考MSDN
      

  4.   

    因为你读的文件的编码格式是GB2312,而.net内部保存的字符编码格式是utf-16(unicode字符集),在用StreamReader读取字符的时候需要加入指明的所读字符的编码信息,好让它在这两种格式之间作准确的转换。如
    StreamReader sr = new StreamReader("data\\CurrentDatabase.ini",System.Text.Encoding.Default);
    .net里的Encoding类提供了常用的字符格式转换信息。Encoding.Default是系统的默认编码,中文系统一般是GB2312,也就是你所读文件的编码格式。
      

  5.   

    参数加个System.Text.Encoding.Default