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

来源:互联网 发布:回也闻一以知十 编辑:程序博客网 时间:2024/05/30 12:30

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

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
原创粉丝点击