Tomcat中文路径参数乱码问题

原因分析

Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码)

解决方法

方法1: 手动转编码

我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然后再将其用utf-8解码成字符流

String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8"); 

方法2: tomcat配置

在conf/server.xml中


  • useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
  • URIEncoding是对所有GET方式请求的数据进行统一的重新编码;

参考:https://www.huaweicloud.com/articles/02a827f18fa1b19b09323a4a212ed75e.html

你可能感兴趣的:(Tomcat中文路径参数乱码问题)