程序需要通过url传递一些中文信息,如  http://localhost/xxx/yyy.aspx?name=中中中但是在另一页面Request.Params["name"].ToString();接收该中文信息有异常,竟然少了些信息,
请教这是什么原因,如何解决?(我也不想传递中文信息,但不得不这么做,请各位帮忙,谢谢!)

解决方案 »

  1.   

    最简单的办法:设置web.config中:
    <globalization
    requestEncoding="gb2312"
        responseEncoding="gb2312"
    />
      

  2.   

    修改web.config文件中的utf-8改为gb2312
    然后传递的时候这样写:
    url="description.aspx?name="+Server.UrlEncode(myname.text)
    response.redirect(url)接收的时候:
    name=Server.UrlDecode(Request.QueryString("name"))
      

  3.   

    Server.UrlDecode
    Server.UrlEncode试试
    另外编码最好是gb2312
      

  4.   

    如果你是用JAVASCRIPT做,要对URL编码才能传输中文
    var url ="SSSISAPI.aspx?TYPE=WebComboBox&UniqueID="+PageName+"_"+this.clientID+"&QUE="+escape(SelectedText);
    其中escape()是JS编码函数。
    如果是asp.net服务端脚本,无所谓,直接连就可以,他会自动编码
      

  5.   

    strnew = escape(strold);
    strunnew = unescape(strnew);
    //strunnew == strold   -- JavaScript
      

  6.   

    传递:
        Response.Redirect("show.aspx?t=" + HttpUtility.UrlEncode("中国"))接收:
        Dim strGetString as String = HttpUtility.UrlDecode(Request.QueryString("t"))
        Response.write(strGetString)
      

  7.   

    传递:Server.UrlEncode("中国")
    接收:Request.QueryString["aa"]
      

  8.   

    若是服务端Server.UrlDecode
    Server.UrlEncode
    客户端 escape