为了账号安全,请及时绑定邮箱和手机立即绑定

jsp用url传递的参数是乱码,编码没有错,都是utf-8

jsp用url传递的参数是乱码,编码没有错,都是utf-8

慕标5832272 2019-03-23 15:19:38
<li><a class="edit" href="<%=basePath %>admin/product/edit.html?id={field_id}"     target="dialog"rel="role"warn="请选择数据"><span>编辑</span>    </a></li>这个{field_id}是一个uuid,传到后台之后变成了
查看完整描述

6 回答

?
米脂

TA贡献1836条经验 获得超3个赞

你是怎么设置编码的? 
这样?

request.setcharacterencoding("UTF-8");

这个只能为POST请求设置编码,GET请求不会受影响的。

想处理get请求,

  • 要么请求里直接使用URL编码

    <%=basePath %>admin/product/edit.html?id=<%=java.net.URLDecoder.decode(field_id,"utf-8")%>

  • 要么在接收到请求后处理

    String str = new String(param.getBytes("iso-8859-1"),"UTF-8")

  • 当然,还有一个多数人不推荐的方法,直接改服务器的默认编码

 <!-- tomcat server.xml -->

 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" 

           redirectPort="8443" URIEncoding="UTF-8" >


查看完整回答
反对 回复 2019-04-16
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

全局的过滤器设置好应该没啥问题,有些提交的地方该 POST 的该 GET 的要分清,好像你这里是链接过去没啥问题。

接收的时候转一下试试?

String id = new String(request.getParameter("id").getBytes("iso-8859-1"), "UTF-8");


查看完整回答
反对 回复 2019-04-16
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

乱码不用多想,肯定是编码问题,建议debug追踪一下


查看完整回答
反对 回复 2019-04-16
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

开浏览器开发工具 那个请求抓图发上来看


查看完整回答
反对 回复 2019-04-16
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

在@堕天使008的基础上加一些内容。
现在基本处理乱码问题都是在web.xml配一个过滤器,全部转为utf-8。

查看完整回答
反对 回复 2019-04-16
  • 6 回答
  • 0 关注
  • 714 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信