文本文档的编码就是ASCII
写入后汉字都变成问号了大家有没有写入的方法  

解决方案 »

  1.   

    ASCII码本来就不能写汉字。用Unicode
      

  2.   

    ASCII码才128个字符,光汉字有多少个??你觉得可能吗。哈哈
      

  3.   

    用Encoding类:
    FileStream fs = new FileStream("1.txt");
    StreamWrite write = new StreamWrite(fs,Encoding.Default);Encoding类参考:
    http://msdn.microsoft.com/zh-cn/library/86hf4sb8(v=VS.80).aspx常用方式:
    获取一个指定编码格式:
    Encoding.GetEncoding("gbk");
    Encoding.GetEncoding("UTF8");
    Encoding.GetEncoding("gbk2312");相关常用属性:
       ASCII 获取 ASCII(7 位)字符集的编码。
       BigEndianUnicode 获取使用 Big-Endian 字节顺序的 UTF-16 格式的编码。
    BodyName 在派生类中重写时,获取可与邮件代理正文标记一起使用的当前编码的名称。
      CodePage 在派生类中重写时,获取当前 Encoding 的代码页标识符。
    DecoderFallback 获取或设置当前 Encoding 对象的 DecoderFallback 对象。
       Default 获取系统的当前 ANSI 代码页的编码。
    EncoderFallback 获取或设置当前 Encoding 对象的 EncoderFallback 对象。
    EncodingName 在派生类中重写时,获取当前编码的可读说明。
    HeaderName 在派生类中重写时,获取可与邮件代理标题标记一起使用的当前编码的名称。
    IsBrowserDisplay 在派生类中重写时,获取一个值,该值指示浏览器客户端是否可以使用当前的编码显示内容。
    IsBrowserSave 在派生类中重写时,获取一个值,该值指示浏览器客户端是否可以使用当前的编码保存内容。
    IsMailNewsDisplay 在派生类中重写时,获取一个值,该值指示邮件和新闻客户端是否可以使用当前的编码显示内容。
    IsMailNewsSave 在派生类中重写时,获取一个值,该值指示邮件和新闻客户端是否可以使用当前的编码保存内容。
    IsReadOnly 在派生类中重写时,获取一个值,该值指示当前的编码是否为只读。
    IsSingleByte 在派生类中重写时,获取一个值,该值指示当前的编码是否使用单字节码位。
       Unicode 获取使用 Little-Endian 字节顺序的 UTF-16 格式的编码。
      UTF32 获取使用 Little-Endian 字节顺序的 UTF-32 格式的编码。
       UTF7 获取 UTF-7 格式的编码。
       UTF8 获取 UTF-8 格式的编码。
      WebName 在派生类中重写时,获取在 Internet 编号分配管理机构 (IANA) 注册的当前编码的名称。
    WindowsCodePage 在派生类中重写时,获取与当前编码最紧密对应的 Windows 操作系统代码页。
      

  4.   

    楼上正解StreamWrite write = new StreamWrite(fs,Encoding.Default);用Encoding.Default而不是Encoding.ASCII。当然起题是运行的机器为中文系统。如果想其他语言机器上也可用,那就只能unicode或者utf8了(utf8本质上也是unicode)
      

  5.   

    用 Encoding.Default 就可以