日期:2014-05-17  浏览次数:20786 次

url中传递中文和加号的问题
url中有中文和“+”,如果不经过“+”的编码传递到后台后肯定是变成“ ”,
所以在JS中通过
url=encodeURI(encodeURI(url));
url=url.replace(/\+/g,'%2B');
处理后,传递到后台,
直接request.getParameter是正确的存在“+”,
但是URLDecoder.decode()后“+”还是变成空格了。我必须要解码传过来的中文啊
请各位看看应该怎么解决

------解决方案--------------------
encodeURIComponent()它的用法与encodeURI()相同,它可以将参数中的中文、特殊字符进行转义,而不影响整个url.
------解决方案--------------------
专门写一个js,里面写上一个共同的加密方法;该加密方法实现接受一个字符串参数,将字符串中的特殊参数转换为非特殊的;

+ ---- %FFFFFF
# ---- %FFFAFA
........


那解密方法就是还原一下喽.......


其实这个应该是在开发项目的时候,直接封装好,就啥事也某有了.....