StreamWriter sw = new StreamWriter(Server.MapPath("1.txt"),false,Encoding.GetEncoding("gb2312"));
sw.Write("電視報紙");
sw.Close();

解决方案 »

  1.   

    繁体使用BIG5编码格式,简体使用 GB2312编码格式 ,怎么可能在GB2312编码中使用BIG5字符呢???
    我测试一下,如果这样写就和我想的一样,StreamWriter sw = new StreamWriter(Server.MapPath("1.txt"),false,Encoding.GetEncoding("big5"));
    sw.Write("电视报纸");
    sw.Close();打开文件会出现乱码,因为BIG5编码格式的文件中不能有GB2312编码的字符,很好理解。可是到过来为什么就能在GB2312编码格式的文件中有BIG5编码的字符呢???
    像下面这样。StreamWriter sw = new StreamWriter(Server.MapPath("1.txt"),false,Encoding.GetEncoding("gb2312"));
    sw.Write("電視報紙");
    sw.Close();
    难道GB2312中包含了繁体字?不可能吧。
      

  2.   

    我的猜测,这里得到的GB2312其实是GBK,而不是最原始的那个 GB2312-80我把所有支持的Encodings都打出来了,这里是所有汉字相关的,看到了吗并没有一个单独的 GBK 编码,但是有 GB2312-80, 所以我猜测那个GB2312其实就是GBK这个字库好像挺全的,包括了大部分的汉字,自然包括繁体-----------------[简体中文(GB2312)]-[936]  gb2312
    [繁体中文(Big5)]-[950]  big5
    [繁体中文(Mac)]-[10002]  x-mac-chinesetrad
    [简体中文(Mac)]-[10008]  x-mac-chinesesimp
    [繁体中文(CNS)]-[20000]  x-Chinese-CNS
    [TCA 台湾]-[20001]  x-cp20001
    [繁体中文(Eten)]-[20002]  x-Chinese-Eten
    [IBM5550 台湾]-[20003]  x-cp20003
    [TeleText 台湾]-[20004]  x-cp20004
    [Wang 台湾]-[20005]  x-cp20005
    [简体中文(GB2312-80)]-[20936]  x-cp20936
    [简体中文(ISO-2022)]-[50227]  x-cp50227
    [简体中文(EUC)]-[51936]  EUC-CN
    [简体中文(HZ)]-[52936]  hz-gb-2312
    [简体中文(GB18030)]-[54936]  GB18030
      

  3.   

    平时我们用记事本新建一个文本文件,然后里面可以输入简体和繁体。是不是也是BGK??
      

  4.   

    记事本不是默认用ANSI的吗?你可以选择另存为,然后就能看到编码了
      

  5.   

    简体中文版本的Windows默认是用的是GB2312,推测多半也是GBK。
      

  6.   

    936号代码页是GBK,在Windows区域与语言选项的代码页转换表里面就能看到……