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

 gloriamm_520 发布于 2022-11-19 06:33
  • 编辑
  • 这个{field_id}是一个uuid,传到后台之后变成了

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

      2022-11-19 06:41 回答
    • 2022-11-19 06:41 回答
    • 开浏览器开发工具 那个请求抓图发上来看

      2022-11-19 06:41 回答
    • 乱码不用多想,肯定是编码问题,建议debug追踪一下

      2022-11-19 06:41 回答
    • 全局的过滤器设置好应该没啥问题,有些提交的地方该 POST 的该 GET 的要分清,好像你这里是链接过去没啥问题。

      接收的时候转一下试试?

      String id = new String(request.getParameter("id").getBytes("iso-8859-1"), "UTF-8");
      2022-11-19 06:41 回答
    • 你是怎么设置编码的?
      这样?

      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" >
      
      2022-11-19 06:41 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有