url中传递中文和加号的问题

YAVA_2009 2012-08-06 02:36:21
url中有中文和“+”,如果不经过“+”的编码传递到后台后肯定是变成“ ”,
所以在JS中通过
url=encodeURI(encodeURI(url));
url=url.replace(/\+/g,'%2B');
处理后,传递到后台,
直接request.getParameter是正确的存在“+”,
但是URLDecoder.decode()后“+”还是变成空格了。我必须要解码传过来的中文啊
请各位看看应该怎么解决
...全文
413 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
YAVA_2009 2012-08-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
以上方法仅供参考,不得商用,违者必究...
[/Quote]

放心,我一定会保密的!!
YAVA_2009 2012-08-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
专门写一个js,里面写上一个共同的加密方法;该加密方法实现接受一个字符串参数,将字符串中的特殊参数转换为非特殊的;

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


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


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

谢谢,没有这样搞过!是个不错的方法,我试试~~
千秋无痕 2012-08-06
  • 打赏
  • 举报
回复

以上方法仅供参考,不得商用,违者必究...
千秋无痕 2012-08-06
  • 打赏
  • 举报
回复
专门写一个js,里面写上一个共同的加密方法;该加密方法实现接受一个字符串参数,将字符串中的特殊参数转换为非特殊的;

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


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


其实这个应该是在开发项目的时候,直接封装好,就啥事也某有了.....
cxw3152 2012-08-06
  • 打赏
  • 举报
回复
其实对特殊字符的解决方法最彻底的还是自己搞一套替换规则,就很彻底的OK!
YAVA_2009 2012-08-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
其实对特殊字符的解决方法最彻底的还是自己搞一套替换规则,就很彻底的OK!
[/Quote]
能否共享下你总结的一套规则,学习一下,谢谢!
千秋无痕 2012-08-06
  • 打赏
  • 举报
回复
我都是这么搞的!
千秋无痕 2012-08-06
  • 打赏
  • 举报
回复
其实对特殊字符的解决方法最彻底的还是自己搞一套替换规则,就很彻底的OK!
YAVA_2009 2012-08-06
  • 打赏
  • 举报
回复
encodeURIComponent()转义的范围太广了,所以没有用。
现在我用以下方法解决问题了:
url=encodeURI(encodeURI(url).replace(/\+/g,'%2B'));
然后在后台正常解码。
还是对两次encodeURI的含义不是很理解
dengsilinming 2012-08-06
  • 打赏
  • 举报
回复
encodeURIComponent()它的用法与encodeURI()相同,它可以将参数中的中文、特殊字符进行转义,而不影响整个url.

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧