using (StreamWriter sw = new StreamWriter("TestFile.txt"))
{
    sw.Write("哦啊产空空健康姥姥靠 ");
}
我用上面的代码写的就没事呀

解决方案 »

  1.   

    改成这样试试 
    StreamWriter fp = new StreamWriter(file, false, Encoding.UTF8);
      

  2.   

    写和读的编码需一致Encoding.Default是GB3212编码不是Ansi编码 :)
    Console.WriteLine(Encoding.Default.BodyName); //gb2312
      

  3.   

    Encoding.Default是GB3212编码不是Ansi编码 :)
    Console.WriteLine(Encoding.Default.BodyName); //gb2312
    -------------------
    Encoding.Default是Ansi编码不是GB3212编码 :)
    你的输出结果只能说明你的系统当前 ANSI 代码页是GB2312...并非所有系统都是简体中文....NET Framework 类库  
    Encoding.Default 属性  获取系统的当前 ANSI 代码页的编码。 若要获取与系统区域设置中的默认 ANSI 代码页相关联的编码,请使用 GetEncoding(0) 或 Default 属性。若要确定系统中使用的默认代码页,请使用 Windows API GetSystemDefaultLangID。若要确定当前的 ANSI 代码页,请使用 Windows API GetACP。警告 
    不同的系统可能使用不同的编码作为默认编码,因此,从一个系统流入另一个系统的数据可能不会被正确转换。若要确保编码后的字节能够正确解码,请使用带前导码的 Unicode 编码(即 UTF8Encoding、UnicodeEncoding 或 UTF32Encoding)另一选择是使用较高级别的协议以确保使用同一格式进行编码和解码。
      

  4.   

    Encoding.Default是Ansi编码不是GB3212编码 
    -----------------------
    Encoding.Default是ANSI编码不是GB2312编码...-_#一时犯懒...你错我也错...
      

  5.   

    Encoding.Default 是机器默认的编码方式,不是指定的~~~
      

  6.   

    同意vrhero 一般Default不设定就是Unicode哈
      

  7.   

    编码问题,在写入的时候指定编码方式为Unicode读取的时候也指定读取方式为Unicode