问题
1. 因为在.aspx?context=中文 中进行了中文参数传第 
为防止出现乱码在web.config中进行
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>配置
2.  在有验证的情况下输入韩文就会出现以下错误
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
3. 取消掉web.config中的<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>配置后正常,可在程序中则会出现乱码请问这种问题需要怎么解决?

解决方案 »

  1.   

    string tmp = Server.UrlEncode("中文中文");
     Response.Redirect("webform1.aspx?context=" + tmp);~~~~~~~~~~~~~~~~~
    string getStr = Server.UrlDecode(Request.QueryString["context"]);
      

  2.   

    url传递过程中,为了能够任意的字符,先执行Server.UrlEncode()就可以了
      

  3.   

    你把EnableEventValidation="false" 试试看
      

  4.   

    忘了告诉你们 
    参数 是在GridView中的生成的
    EnableEventValidation="false" 
    设置后是可以提交 可存入数据库后变成了乱码
      

  5.   

    忘了告诉你们 
    参数 是在GridView中的生成的
    EnableEventValidation="false" 
    设置后是可以提交 可存入数据库后变成了乱码
    ————————————————————————
    取出来正常吗?
    不然的话就用utf-8算了,什么语言都可用
      

  6.   

    近乎完美的解决方法:
    1、webconfig:
        <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
       <pages validateRequest="false" />
    2、你接受输入的那个aspx:
    在head段里加上
    <meta http-equiv="Content-Type" content="text/html;" charset="gb2312">这么一来,你输入的韩文等,就会在服务器端直接编码成&HXXXX;这种形式,把它们直接入库,就可以直接在IE中显示为对应的unicode字符。这种方式的唯一问题是,你的输入在提交之后,如果当前页面没有关闭,那你先前输入的韩文会变成&HXXXX;这样的字符串显示。