java urldecode 乱码_java URL乱码解决

平常我们都是encode 一次,然后直接接受参数

String para = request.getParameter(paramName);  这是因为容器自动能帮我们解码 (DECODE)

一般来说,  encode 的时候,使用的 UTF-8(系统的 编码)  那么解码的时候也是使用   UTF-8的话, 那么不会出现传说中的乱码~

但是如果 在JSP 页面 使用的UTF-8,但是  容器 解码的时候 使用的 别的编码的话,则有可能出现乱码

这个时候.一般可以使用:

String  param = new String(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");

也能出来.

所有的手段都使了.还是搞不定怎么办?

怎么解决这种多服务器导致的 编码  问题:

假设 字符串:  = "阳";

Encode  一次  %E9%98%B3

Encode  两次   %2525E9%252598%2525B3

在第二次的时候 ,容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 %E9%98%B3

那么 只要自身在进行 Decode 一次  就能得到  "阳"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值