location.href传中文参数与java编解码解决get请求乱码

首先在页面传参的地方要进行两次编码

location.href=URL+"?name="+encodeURI(encodeURI($scope.name))
在后端接收的时候将获取的数据进行解码
String newName = URLDecoder.decode(name, "UTF-8");
原因分析:
首先在界面上将数据进行两次编码 第一次转化为%AC%DB...这样子格式的数据
然后第二次编码将%进行编码
在后端接收的时候就会将数据接收为
%AC%DB这样子格式的数据  此时进行一次按照UTF-8进行解码实现数据的传递。


在java代码中通过httpClient发送get请求时会发生中文乱码问题:

在传递的中文参数里面添加编码

getMethod.setRequestHeader("voiceName", URLEncoder.encode(filename,"UTF-8"));
在获取的时候进行解码实现解决中文乱码问题

String voiceName = request.getHeader("voiceName");
voiceName = URLDecoder.decode(voiceName,"UTF-8");



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值