我有一个txt 文件,他的存储编码格式为 UTF-8 编码文本。
我用:
StreamReader sr= new StreamReader(@"D:\1.txt",System.Text.Encoding.Default);
StreamWriter sw = new StreamWriter(@"D:\2.txt", false, System.Text.Encoding.Default);
sw.Write(sr.ReadToEnd());
sw.Close();
sr.Close();
得到的 2.txt 文本中的中文成了乱码;
我应该怎样做?

解决方案 »

  1.   

    明确指明encoding来操作。存入的时候用unicode或者gb2312来存入。
      

  2.   

    Knight94(愚翁) :
       我想将文本文件转换成ansi格式。谢谢。
      

  3.   

    changeStreamWriter sw = new StreamWriter(@"D:\2.txt", false, System.Text.Encoding.Default);withStreamWriter sw = new StreamWriter(@"D:\2.txt", false, System.Text.Encoding.GetEncoding("gb2312" ));
      

  4.   

    谢谢Knight94(愚翁)兄。怎在测试。
      

  5.   

    Knight94(愚翁)兄:
        测试结果还是乱码?怎办?
      

  6.   

    我有一个1.txt 文件中英文混合的一个文件,用记事本打开都正常,他的存储编码格式为 UTF-8 编码文本。但我想想把它转换为ansi格式,另存为2.txt。
    我用:
    StreamReader sr= new StreamReader(@"D:\1.txt",System.Text.Encoding.Default);
    StreamWriter sw = new StreamWriter(@"D:\2.txt", false,System.Text.Encoding.GetEncoding("gb2312" ));
    sw.Write(sr.ReadToEnd());
    sw.Close();
    sr.Close();
    得到的 2.txt 文本中的中文成了乱码;
    我应该怎样做?
    有高手能指点吗?
      

  7.   

    试一下
    StreamWriter sw = new StreamWriter(@"D:\2.txt", false, System.Text.Encoding.utf8)
    StreamWriter sw = new StreamWriter(@"D:\2.txt", false, System.Text.Encoding.unicode)
      

  8.   

    谢谢各位的指点,总算通过了。总结在读文件的时候就要指定文件编码格式StreamReader sr= new StreamReader(@"D:\1.txt",System.Text.Encoding.UTF8);
    StreamWriter sw = new StreamWriter(@"D:\2.txt", false, System.Text.Encoding.GetEncoding("gb2312" ));
    sw.Write(sr.ReadToEnd());
    sw.Close();
    sr.Close();