以下问题,仅仅在ie6下存在,其他浏览器正常。
我在用get方法传递中文参数的时候,如
/gbss/busiRelease.htm?method=query&busiAddr=南京市建邺区长虹路249号2厅23号 &pager.offset=15明眼人一看,就知道传递2个参数即busiAddr和pager.offset但是,在java后台接受这2个页面传递过来的参数的时候,出现了奇怪的问题
我发现 后台参数 busiAddr 接受的参数值是乱码“南京市建邺区长虹è·?49å?åŽ?3å?pager.offset=15”
虽然,我知道,可以通过
new String(sysName.getBytes("ISO-8859-1"), "UTF-8");进行转码
但问题是busiAddr把pager.offset=15这部分内容也当作它的数据内容给接受过来了,这显然不正确了,
pager.offset=15 也是一个参数,我得用其他参数接受的。请问,我该怎样解决ie6下的此类问题哦?

解决方案 »

  1.   

    java.net.URLEncoder网上找些例子吧,把参数encode一下,然后再decode出来
      

  2.   

    在传参的时候java.net.URLEncoder.encode(busiAddr, "utf-8");在收参的时候String busiAddr = request.getParameter("busiAddr");
    java.net.URLDecoder.decode(busiAddr, "utf-8");当然要判断是否为null
      

  3.   

    /gbss/busiRelease.htm?method=query&busiAddr=URLEncoding(URLEncoding(南京市建邺区长虹路249号2厅23号)) &pager.offset=15
     
    在服务器端用URLDecoder.decode(busiAddr,"utf-8");