FTP服务器中有一个TXT文件,里面有繁体中文。我直接用C#连FTP把它读到内存中,用console.writeline写出来,繁体全变成乱码。用 Encoding.Default 或UTF8,或GetEncoding("GB2312")都是乱码。但我把该TXT先下载到我本机,再用C# with Encoding.UTF8 读取、再写出来却是正常的。请教这是什么原因?

解决方案 »

  1.   

      FileStream fs = new FileStream(@"C:\Documents and Settings\Administrator\桌面\test.txt", FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);             while (!sr.EndOfStream)
                {
                    string str = sr.ReadLine();
                    txt += str + "\n";
                }            sr.Close();            Console.Write(txt);
                Console.Read();
      

  2.   

    可以了,是我漏了,虽然在读取TXT内容时指定了编码,但在从FTP GetResponseStream时没有指定编码。都指定UTF8就OK了。