在c#的代码中,我用问号传了一个值 ?后面是中文字,结果到接受页面,调试的时候
Request.QueryString["thename"].ToString();可能出现乱码问题.
请乱码高手相助,小弟感激不尽

解决方案 »

  1.   

    来自网上收集
    如何解决页面之间传输中文乱码的问题 hbzxf(阿好) 
    http://www.cnblogs.com/hbzxf 虚拟主机  有的时候我们需要在页面之间传输中文,但是.NET模认在Webconfig中为我们建立的编码格式为utf-8,于是在传输中文的时候变成了乱码,相应的接受也会是乱码信息,如何解决这个问题,我们可以用两种方法。   更改Webconfig中的编码方式,如下:虚拟主机 1.在你的web.config中把编码 <globalization 
    requestEncoding="utf-8" 
    responseEncoding="utf-8" 
    /> 
    改为 <globalization 
    requestEncoding="gb2312" 
    responseEncoding="gb2312" 
    /> 第二种方法: 首先在传递之前先编码:举例如下: 
    string xm=Server.URLEncode("张三"); 
    Response.Redirect("b.aspx?xm="+xm); 然后在接收页解码: 
    string xm = Server.URLDecode(Requext.querystring("xm")); 还有一个要说的是,在我们制作邮件系统时,会有一个接收base64的问题,经常会产生乱码,我是这样解决的,不妨试试。代码如下: string encodedMail="邮件内容"; 
    byte[] barr=Convert.FromBase64String(encodedMail); 
    string decodedMail=System.Text.Encoding.GetEncoding("gb2312").GetString(barr);
      

  2.   

    ,这个问题在asp.net200问这本书上有,楼主没有的话最好买本,非常实用