1、如果传递的字符串是中文,会不会出现乱码的问题?
比如:Details.aspx?sf_name=电脑产品&ss_name=台式机
有时候这些汉字会显示为乱码,就是一些框框,都不知道是些什么东西
2、Details.aspx?sf_name=电脑产品&ss_name=台式机&kind=201
如果kind并没有实际使用,会不会出现上面的问题?
3、如果都不是,是啥原因,是不是编码的问题?

解决方案 »

  1.   

    编码:sf_name = HttpUtility.UrlEncode("电脑产品");
    解码:str = HttpUtility.UrlDecode(Request.QueryString["sf_name"]);
      

  2.   

    办法1:
    传递时进行编码 url= "http://localhost:2322/Default.aspx?T=" + Server.UrlEncode("台式机 ")办法2:试试
    s = System.Web.HttpUtility.UrlDecode(Request.QueryString["ss_name"],System.Text.Encoding.UTF8);或者别的编码
      

  3.   

    传值时:
    sf_name = HttpUtility.UrlEncode("电脑产品");
    url = "Details.aspx?sf_name=" + sf_name;
    Response.Redirect(url);读取的时候:
    str = HttpUtility.UrlDecode(Request.QueryString["sf_name"]);
    此时 str的值"电脑产品"
      

  4.   

    我最近也碰到类似问题,被我绕过去了,Defualt?ss=1&xx=2这个是传两个参数的写法吗?
      

  5.   

    可以在web.config里配置编码格式 这样的话 页面发送和接收的时候都会按照设定的格式 就不会出现这样的问题了 比如统一用UTF-8 只要设置好了 发送的时候会自动处理
      

  6.   

    如果你使用的是asp.net2.0(现在还真的有人使用1.1那种玩意儿?),那么其实在第一个页面使用 UrlEncode之后,在第二个页面并不需要UrlDecode。试一试!这是对的。因为默认地是utf编码方式,这么通行的做法!因此第一个页面理应记得将编码标准化,而第二页个页面理应不需要解码而由asp.net自动处理好。
      

  7.   

    URL编码。基本的问题网上很多人问了。。
      

  8.   

    能在web.config中修改?
    <globalization fileEncoding="GB2312"  requestEncoding="GB2312"  responseEncoding="GB2312"/>
    可以实现吧?
      

  9.   


    right,接收方会自动检查并解码