昨天拿到一个问题,有一个js做的树形菜单,在我们这边IE8下没问题,到客户那边IE6下树形有的节点展不开。
测试后发现是由于url传参中有奇数个数的中文会出现乱码,导致后面拼的ID参数的&也被弄成乱码,页面request.getParmeter()找不到ID,故树形节点展不开。
搜索后解决方法如下:
在js中用window.open()打开的窗口,给url做了一下处理,url=encodeURI(url),到jsp中没有再转码,就不乱码了。
下面是看到的几篇文章和这次没用到的转码方法:
java.net.URLEncoder.encode(param,"UTF-8");
java.net.URLDecoder.decode(param,"UTF-8");