在asp页面转到asp.net的URL中 Msg=%D5%CB%BA%C5%BA%AC%D3%D0%B7%C7%B7%A8%D7%D6%B7%FB%A3%A1
但在asp.net中Request.QueryString["Msg"] 接收到的却是 �˺ź��зǷ��ַ���
请问是为什么 要怎么解决?

解决方案 »

  1.   

    传值的时候加密 Server.UrlEecode
    接收的时候解密 Server.UrlDecode
      

  2.   

    编码问题统一编码
    在web.confing文件中找到  <system.web>
        <!-- 
                设置 compilation debug="true" 可将调试符号插入到
                已编译的页面。由于这会
                影响性能,因此请仅在开发过程中将此值
                设置为 true。
            -->
        <globalization requestEncoding="gb2312" responseEncoding="gb2312" />
    就是<system.web>节点,加入<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
      

  3.   

     
    ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题一般有3种方法:
    1.设置web.config文件<system.web> 
    ...... 
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> 
    ...... 
    </system.web> 
    2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 
    >> 进行传递 
    string Name = "中文参数"; 
    Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)); 
    >> 进行接收 
    string Name = Request.QueryString["Name"]; 
    Response.Write(Server.UrlDecode(Name));3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。 
    >> 进行传递 
    <script language="JavaScript"> 
    function GoUrl() 

    var Name = "中文参数"; 
    location.href = "B.aspx?Name="+escape(Name); 
    } <body onclick="GoUrl()"> 
    >> 进行接收 
    string Name = Request.QueryString["Name"]; 
    Response.Write(Server.UrlDecode(Name));一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。或用Response.Redirect("test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国")); //建议使用
      

  4.   

    asp Server.UrlEecode 的值
    asp.net Server.UrlDecode 的值不一样的吧?
      

  5.   

    asp和.net不能共用,就是说,他们之间不能互传
      

  6.   

    中文乱码的问题;
    传值的时候加密 Server.UrlEecode(值)
    接收的时候解密 Server.UrlDecode(值)
      

  7.   

    用js加密,后台用Server.UrlDecode解密,一样准确。