这两种request在获取到的string字符的时候的不同点;或者说是对汉字的获取不同,或者是获取所用的函数不同?
  谁能讲一下?
     【我的项目里面因为某个页面出现request["aaa"]获取的汉子出现了乱码,想把web.config由uft-8改为db2312;
但是害怕其他页面再出现别的乱码错误 ,所以想了解一下;或者哪位大侠有什么好主意能避免我担心的错误】

解决方案 »

  1.   

    你把页面编码要设置成一致,当然在webconfig设置也可以
      

  2.   

    在页面通讯方面,只是用utf8,永远不使用gb2312。然后有什么问题,你就可以真正去解决具体问题了。跟你在web.config中的编码设置没有关系。
      

  3.   


    额 我也是跟你考虑一样,但是现在我有一个页面用rquest获取到的汉子乱码了!!怎么办啊..改为用db2312时候可以
      

  4.   

    P哥,页面的编码不一定只是只是用utf-8,也有使用gb2312的。像搜狐首页用的就是gb2312或者gbk
    整个网站的编码可以webcofig的<system.web>....</system.web>节点下,的<globalization requestEncoding="gb2312" repsonseEncoding="gb2312" />
      

  5.   

    大侠 我表示只想解决问题 ;这样 你能能不能告诉我用 db2312有什么与用uft-8的不同吗 尤其在request的时候!!!
      

  6.   

    utf-8支持绝大多数国家的字符,不仅是中文;gb2312仅支持英文和中文。
    而且前者支持的中文字符数多,一些生僻字也支持;gb2312仅支持6000多个通用汉字。
    utf-8对语言文字基本上全兼容。
      

  7.   

    http://www.cnblogs.com/xiaomia/archive/2010/11/28/1890072.html
      

  8.   

    唉...但是就在最近我用utf-8的时候  rquest【】获取的汉子 他竟然..乱码了...用db2312反而没事了
      

  9.   

    这可能是response的汉字不是用utf-8的,反正request和response的编码要对应就行了。
      

  10.   

    我的congfig给你看下:
      <globalization requestEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN" responseEncoding="utf-8"/>    
      

  11.   

        Response.ContentEncoding试试,在你的那个页面Page_Load中加上如下代码:
      Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
      

  12.   

    这个是request和response编码要对应的问题,可以在配置文件设置。
      

  13.   

    LZ如果地址栏里面要传中文的话 还是将传的值用url 编码一下吧
      

  14.   

    全球化编码~<configuration>
      <system.web>
        <globalization
          fileEncoding="utf-8"
          requestEncoding="utf-8"
          responseEncoding="utf-8"
          culture="en-US"
          uiCulture="de-DE"
        />
      </system.web>
    </configuration>37 IBM037 IBM EBCDIC (美國-加拿大)
    437 IBM437 OEM 美國
    500 IBM500 IBM EBCDIC (國際)
    708 ASMO-708 阿拉伯文 (ASMO 708)
    720 DOS-720 阿拉伯文 (DOS)
    737 ibm737 希臘文 (DOS)
    775 ibm775 波羅的海文 (DOS)
    850 ibm850 西歐語系 (DOS)
    852 ibm852 中歐語系 (DOS)
    855 IBM855 OEM 斯拉夫文
    857 ibm857 土耳其文 (DOS)
    858 IBM00858 OEM 多語系拉丁文 I
    860 IBM860 葡萄牙文 (DOS)
    861 ibm861 冰島文 (DOS)
    862 DOS-862 希伯來文 (DOS)
    863 IBM863 加拿大法文 (DOS)
    864 IBM864 阿拉伯文 (864)
    865 IBM865 北歐字母 (DOS)
    866 cp866 斯拉夫文 (DOS)
    869 ibm869 希臘文,現代 (DOS)
    870 IBM870 IBM EBCDIC (多語系拉丁文 2)
    874 windows-874 泰文 (Windows)
    875 cp875 IBM EBCDIC (希臘現代)
    932 shift_jis 日文 (Shift-JIS)
    936 gb2312 簡體中文 (GB2312)
    949 ks_c_5601-1987 韓文
    950 big5 繁體中文 (Big5)
    1026 IBM1026 IBM EBCDIC (土耳其拉丁文 5)
    1047 IBM01047 IBM 拉丁文 1
    1140 IBM01140 IBM EBCDIC (美國-加拿大-歐洲)
    1141 IBM01141 IBM EBCDIC (德國-歐洲)
    1142 IBM01142 IBM EBCDIC (丹麥-挪威-歐洲)
    1143 IBM01143 IBM EBCDIC (芬蘭-瑞典-歐洲)
    1144 IBM01144 IBM EBCDIC (義大利-歐洲)
    1145 IBM01145 IBM EBCDIC (西班牙-歐洲)
    1146 IBM01146 IBM EBCDIC (英國-歐洲)
    1147 IBM01147 IBM EBCDIC (法國-歐洲)
    1148 IBM01148 IBM EBCDIC (國際-歐洲)
    1149 IBM01149 IBM EBCDIC (冰島-歐洲)
    1200 utf-16 Unicode
    1201 unicodeFFFE Unicode (Big-Endian)
    1250 windows-1250 中歐語系 (Windows)
    1251 windows-1251 斯拉夫文 (Windows)
    1252 Windows-1252 西歐語系 (Windows)
    1253 windows-1253 希臘文 (Windows)
    1254 windows-1254 土耳其文 (Windows)
    1255 windows-1255 希伯來文 (Windows)
    1256 windows-1256 阿拉伯文 (Windows)
    1257 windows-1257 波羅的海文 (Windows)
    1258 windows-1258 越南文 (Windows)
    1361 Johab 韓文 (Johab)
    10000 macintosh 西歐語系 (Mac)
    10001 x-mac-japanese 日文 (Mac)
    10002 x-mac-chinesetrad 繁體中文 (Mac)
    10003 x-mac-korean 韓文 (Mac)
    10004 x-mac-arabic 阿拉伯文 (Mac)
    10005 x-mac-hebrew 希伯來文 (Mac)
    10006 x-mac-greek 希臘文 (Mac)
    10007 x-mac-cyrillic 斯拉夫文 (Mac)
    10008 x-mac-chinesesimp 簡體中文 (Mac)
    10010 x-mac-romanian 羅馬尼亞文 (Mac)
    10017 x-mac-ukrainian 烏克蘭文 (Mac)
    10021 x-mac-thai 泰文 (Mac)
    10029 x-mac-ce 中歐語系 (Mac)
    10079 x-mac-icelandic 冰島文 (Mac)
    10081 x-mac-turkish 土耳其文 (Mac)
    10082 x-mac-croatian 克羅埃西亞文 (Mac)
    12000 utf-32 Unicode (UTF-32)
    12001 utf-32BE Unicode (UTF-32 Big-Endian)
    20000 x-Chinese-CNS 繁體中文 (CNS)
    20001 x-cp20001 TCA 台灣
    20002 x-Chinese-Eten 繁體中文 (Eten)
    20003 x-cp20003 IBM5550 台灣
    20004 x-cp20004 TeleText 台灣
    20005 x-cp20005 Wang 台灣
    20105 x-IA5 西歐語系 (IA5)
    20106 x-IA5-German 德文 (IA5)
    20107 x-IA5-Swedish 瑞典文 (IA5)
    20108 x-IA5-Norwegian 挪威文 (IA5)
    20127 us-ascii US-ASCII
    20261 x-cp20261 T.61
    20269 x-cp20269 ISO-6937
    20273 IBM273 IBM EBCDIC (德國)
    20277 IBM277 IBM EBCDIC (丹麥-挪威)
    20278 IBM278 IBM EBCDIC (芬蘭-瑞典)
    20280 IBM280 IBM EBCDIC (義大利)
    20284 IBM284 IBM EBCDIC (西班牙)
    20285 IBM285 IBM EBCDIC (UK)
    20290 IBM290 IBM EBCDIC (日文片假名)
    20297 IBM297 IBM EBCDIC (法國)
    20420 IBM420 IBM EBCDIC (阿拉伯文)
    20423 IBM423 IBM EBCDIC (希臘文)
    20424 IBM424 IBM EBCDIC (希伯來文)
    20833 x-EBCDIC-KoreanExtended IBM EBCDIC (韓文擴充)
    20838 IBM-Thai IBM EBCDIC (泰國)
    20866 koi8-r 斯拉夫文 (KOI8-R)
    20871 IBM871 IBM EBCDIC (冰島)
    20880 IBM880 IBM EBCDIC (斯拉夫俄文)
    20905 IBM905 IBM EBCDIC (土耳其)
    20924 IBM00924 IBM 拉丁文 1
    20932 EUC-JP Japanese (JIS 0208-1990 和 0212-1990)
    20936 x-cp20936 簡體中文 (GB2312-80)
    20949 x-cp20949 韓文 Wansung
    21025 cp1025 IBM EBCDIC (斯拉夫塞爾維亞文-保加利亞文)
    21866 koi8-u 斯拉夫文 (KOI8-U)
    28591 iso-8859-1 西歐語系 (ISO)
    28592 iso-8859-2 中歐語系 (ISO)
    28593 iso-8859-3 拉丁文 3 (ISO)
    28594 iso-8859-4 波羅的海文 (ISO)
    28595 iso-8859-5 斯拉夫文 (ISO)
    28596 iso-8859-6 阿拉伯文 (ISO)
    28597 iso-8859-7 希臘文 (ISO)
    28598 iso-8859-8 希伯來文 (ISO-Visual)
    28599 iso-8859-9 土耳其文 (ISO)
    28603 iso-8859-13 愛沙尼亞文 (ISO)
    28605 iso-8859-15 拉丁文 9 (ISO)
    29001 x-Europa 歐洲
    38598 iso-8859-8-i 希伯來文 (ISO-Logical)
    50220 iso-2022-jp 日文 (JIS)
    50221 csISO2022JP 日文 (JIS-Allow 1 byte Kana)
    50222 iso-2022-jp 日文 (JIS-Allow 1 byte Kana - SO/SI)
    50225 iso-2022-kr 韓文 (ISO)
    50227 x-cp50227 簡體中文 (ISO-2022)
    51932 euc-jp 日文 (EUC)
    51936 EUC-CN 簡體中文 (EUC)
    51949 euc-kr 韓文 (EUC)
    52936 hz-gb-2312 簡體中文 (HZ)
    54936 GB18030 簡體中文 (GB18030)
    57002 x-iscii-de ISCII 梵文語系
    57003 x-iscii-be ISCII 孟加拉文
    57004 x-iscii-ta ISCII 坦米爾文
    57005 x-iscii-te ISCII 特拉古文
    57006 x-iscii-as ISCII 阿薩姆文
    57007 x-iscii-or ISCII 歐利亞文
    57008 x-iscii-ka ISCII 坎那達文
    57009 x-iscii-ma ISCII 馬來亞拉姆文
    57010 x-iscii-gu ISCII 古吉拉特文
    57011 x-iscii-pa ISCII 旁遮普語
    65000 utf-7 Unicode (UTF-7)
    65001 utf-8 Unicode (UTF-8)
      

  15.   

    我接着p哥的说,我也感觉统一UTF-8比较好,或者Unicode(UTF-16型)。如果接收到的数据时GB2312的,那么可以使用GB2312接受,然后转为UTF8处理。因为你下载的数据可能无法决定是什么编码,但是到你手里之后,还是同意了比较好。可以Encoding.UTF8.GetString(Encoding.GetEncoding("GB2312").GetBytes(你的gb2312文字));这样取得UTF8的文字数据另外,Encoding这还要注意。多字节的Encoding跟单字节的不能转来转去的,容易丢低位数据,然后文字变成乱码。
      

  16.   

    谢谢大家 问题解决了:
      最终发现原因如下:
                客户机子的ie6.0在url传参是若传递的是中文的话 不管是utf-8还是gb2312统统乱码。
       解决办法:
             传参时候再编码一下:
                              两种:1:            .......aa.aspx?   &name="+encodeURL(name)+"  //name是参数                                  2:         ......aa.aspx?   &name="+escape(name)+"    //页面间传递的时候常用
                接收时候可以不用解码;
    问题解决。                      
      

  17.   


    ....................................................QueryString 用的直接是中文啊。
    用HttpContext.Current.Server.Encode 编成 %那种方式 然后Decode解回来。
      

  18.   


    ....................................................QueryString 用的直接是中文啊。
    用HttpContext.Current.Server.Encode 编成 %那种方式 然后Decode解回来。