web.config 里,有下面的设置。
    <!--  全球化
          此节设置应用程序的全球化设置。
    -->
    <globalization 
            requestEncoding="utf-8" 
            responseEncoding="utf-8" 
   />在什么情况下,需要修改"utf-8" 为 "gb2312"  呢?
requestEncoding 是请求,responseEncoding 是输出,这个我知道,谁可以讲的深入些?并举几个例子。
谢谢

解决方案 »

  1.   

    http://news.dvbbs.net/infoView/Article_2521.html
      

  2.   

    如果不用utf-8,有些JS文件就无法使用,总是报页面出错,这是我所遇到的情况
      

  3.   

    谢谢 yuanshiaa() 你提供的经验教训。。大家接着来啊!!
      

  4.   

    好像记得
    utf-8是国际上通用的字符集,里面包括很多国家的字符
    gb2312是中国的,只有中文字符
    所以,如果在鬼子那儿看gb2312的网站应该是显示乱码,而utf-8在世界各地都会原样显示,因为对于字符的定义没有重复
    只是好像记得啊,错了别砸我
      

  5.   

    <globalization 
                requestEncoding="utf-8" 
                responseEncoding="utf-8" 
       />requestEncoding对应到Request.Encoding属性,用于告诉Request使用什么编码对提交的数据进行解码,就是诸如%38%2d%ge等的QueryString。
    responseEncoding对应到Response.Encoding属性,用于指定Response输出页面时采用的默认编码,就是指你在浏览器上按右键选择哪种编码可以正常看页面。
      

  6.   

    例子?一般推荐全部都使用utf-8,如果QueryString有可能出现gb2312编码的情况,就都用gb2312吧。
      

  7.   

    请问:如果QueryString有可能出现gb2312编码的情况,就一定用gb2312么?不一定吧
      

  8.   

    更详细的内容:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        
      <system.web>    <!--  动态调试编译
              设置 compilation debug="true" 以将调试符号(.pdb 信息)
              插入到编译页中。因为这将创建执行起来
              较慢的大文件,所以应该只在调试时将该值设置为 true,而所有其他时候都设置为
              false。有关更多信息,请参考有关
              调试 ASP.NET 文件的文档。
        -->
        <compilation defaultLanguage="vb" debug="true" />    <!--  自定义错误信息
              设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。
              为每个要处理的错误添加 <error> 标记。
        -->
        <customErrors mode="RemoteOnly" />    <!--  身份验证 
              此节设置应用程序的身份验证策略。可能的模式是“Windows”、
              “Forms”、“Passport”和“None”
        -->
        <authentication mode="Windows" /> 
        <!--  授权 
              此节设置应用程序的授权策略。可以允许或拒绝用户或角色访问
              应用程序资源。通配符:"*" 表示任何人,"?" 表示匿名 
              (未授权的)用户。
        -->
        <authorization>
            <allow users="*" /> <!-- 允许所有用户 -->            <!--  <allow     users="[逗号分隔的用户列表]"
                                 roles="[逗号分隔的角色列表]"/>
                      <deny      users="[逗号分隔的用户列表]"
                                 roles="[逗号分隔的角色列表]"/>
                -->
        </authorization>    <!--  应用程序级别跟踪记录
              应用程序级别跟踪在应用程序内为每一页启用跟踪日志输出。
              设置 trace enabled="true" 以启用应用程序跟踪记录。如果 pageOutput="true",则
              跟踪信息将显示在每一页的底部。否则,可以通过从 Web 应用程序
              根浏览 "trace.axd" 页来查看 
              应用程序跟踪日志。
        -->
        <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
        <!--  会话状态设置
              默认情况下,ASP.NET 使用 cookie 标识哪些请求属于特定的会话。
              如果 cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
             若要禁用 cookie,请设置 sessionState cookieless="true"。
        -->
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;user id=sa;password="
                cookieless="false" 
                timeout="20" 
        />    <!--  全球化
              此节设置应用程序的全球化设置。
        -->
        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
       
      </system.web></configuration>
      

  9.   

    用<globalization requestEncoding="utf-8" responseEncoding="utf-8"  />好像会遇到中文化问题,用QueryString不能传中文值。
      

  10.   

    在网上抄了一些东西
    GB2312字符集
    如果像ISO8859系列一样,大于0x7F的字符用来表示汉字,则最多表示128个,这显然不够,于是就有了GB2312标准所产生的字符集,如果当前字节(8 bit)小于0X80,则仍当它为英文字符;如果它大于等于0x80,则它和紧接着它的下一个字节构成一个汉字字符,这样,GB2312字符集可包含大约4000多个常用简体汉字和其他汉字中的特殊符号(如①㈠之类)。其他类似的汉字字符集还有GBK(GB2312的扩展),GB18030,Big5(繁,台湾省用),详细规范介绍可参考:http://www.unihan.com.cn/cjk/ana17.htm
    Unicode字符集
    Unicode字符最初是16位的(出于需要,后来增加了代用对),它和7位的US-ASCII保持兼容,MS的Windows NT/2000/XP和Sun的Java都用它作为默认的字符集,它最初是美国商务联盟的事实上的标准,它遵循国际通用字符(UCS)集标准:ISO/IEC 10646。Unicode的主要目标是提供一个“通用字符集”,这个通用字符集包括世界上所有的语言,字母和文字,所以在Unicode字符集中。毕竟16位的Unicode字符集最多只有216= 65536个字符,还不足以在实际应用中表示所有的字符,而且在以英文为主要信息的互联网时代,它的使用、存储与传输,都极其浪费空间,所以在此基础上出现了UTF-8(Unicode Transformation Form 8-bit form)和UTF-16这两种对Unicode字符编码的规范,在UTF-8中,属于US-ASCII中的字符,仍用一个字节表示,且和US-ASCII兼容,编码其他的字符,则用1(大于0x7F部分)到3个字节。UTF-8的变长性和复杂性,对非ASCII的字符,就不大友好了,也开始违背了Unicode的初衷。而UTF-16则是很简单的编码方式,它完全遵循Unicode标准,用16位的定长空间来表示部分Unicode字符集。关于Unicode的更多规范,请访问Unicode联盟站点:
    http://www.unicode.org,UTF-8和UTF-16分别定义在IETF的RFC 2279和RFC 2781中,可以通过http://www.ietf.org/rfc2279.txt或http://www.ietf.org/rfc2781.txt访问它们。
      

  11.   

    Utf-8为什么不好啊!支持全球的语言,GB2312只支中国的!
      

  12.   

    requestEncoding对应到Request.Encoding属性,用于告诉Request使用什么编码对提交的数据进行解码,就是诸如%38%2d%ge等的QueryString。
    responseEncoding对应到Response.Encoding属性,用于指定Response输出页面时采用的默认编码,就是指你在浏览器上按右键选择哪种编码可以正常看页面。
    就是这种解释!
      

  13.   

    jian680721(本非佳人) 别玩我了
      

  14.   

    gb2312是支持汉字显示的
    需要使用中文的时候就需要修改成gb2312
      

  15.   

    requestEncoding对应到Request.Encoding属性,用于告诉Request使用什么编码对提交的数据进行解码,就是诸如%38%2d%ge等的QueryString。
    responseEncoding对应到Response.Encoding属性,用于指定Response输出页面时采用的默认编码,就是指你在浏览器上按右键选择哪种编码可以正常看页面。解释得不错!
      

  16.   

    用Utf-8时:QueryString有些时候传中文值不能正常传出
      

  17.   

    回复人: zyf0300106(iceman) ( ) 信誉:100  2005-03-01 08:46:00  得分: 0  
     
     
       用Utf-8时:QueryString有些时候传中文值不能正常传出
      
     
    这个能说明白什么时候正常?什么时候不正常么???
      

  18.   

    楼上的大部分都是正解,建议使用gb2312,如果使用utf-8,一是传值的时候会出现问题,还有很重要的是一点是,在web.config中使用utf-8编码的网站,在google的搜索引擎结果中显示出的是乱码而使用gb2312的则是正常的具体结果可参考http://www.webconfs.com/search-engine-spider-simulator.php
      

  19.   

    一般都改成gb2312的。因为chinese不适合用utf-8