用SpringMVC参数传递时,解决get请求时中文乱码的问题

简介: 用SpringMVC参数传递时,解决get请求时中文乱码的问题

问题描述:


使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码


解决办法:


方法一


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


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


方法二


通过Tomcat配置文件,设置URL编码集(URIEncoding)设置编码

在tomcat的server.xml配置文件中,添加URIEncoding="UTF-8"

<Connector  connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
修改为:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>


注意:当用eclipse运行项目时,如果改了tomcat安装目录下的server.xml文件不起作用,就要改eclipse自身servers下的server.xml文件.因为eclipse运行项目时用的是这个server.

20210503134647738.png


  • useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
  • URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
  • URIEncoding和useBodyEncodingForURI区别是
  • URIEncoding是对所有GET方式的请求的数据进行统一的重新编码
  • 而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码
  • 配置useBodyEncodingForURI="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把useBodyEncodingForURI="true"改为URIEncoding="UTF-8"即可


20210503135022636.png


相关文章
|
8月前
|
JSON 监控 Java
【SpringMVC】JSON数据返回及异常处理
Jackson是一个用于Java对象和JSON数据之间相互转换的开源库。它提供了一组强大的API,可以将Java对象序列化为JSON格式的字符串,也可以将JSON字符串反序列化为Java对象。Jackson库由三个核心模块组成::用于将Java对象与JSON数据进行绑定(序列化和反序列化)。它提供了一系列注解,如等,用于指定对象属性与JSON字段之间的映射关系,以及日期、时间等特殊类型的处理方式。Databind模块也提供了一些高级特性,如多态类型处理、双向引用处理等。
|
5月前
|
容器
PostMan发送携带参数Get请求、Post请求及SpringMVC解决Post请求中文乱码问题
PostMan发送携带参数Get请求、Post请求及SpringMVC解决Post请求中文乱码问题
61 0
|
6月前
|
前端开发 应用服务中间件 Android开发
用SpringMVC参数传递时,解决get请求时中文乱码的问题
用SpringMVC参数传递时,解决get请求时中文乱码的问题
|
Java
springboot 接收post、get、重定向,并从url中获取参数
springboot 接收post、get、重定向,并从url中获取参数
771 0
|
JSON 数据格式
springMvc48-返回json数据
springMvc48-返回json数据
87 0
|
JSON 数据格式
搭建一个包含多种Get请求和Post请求的工具类
在工作的过程中经常会遇到需要调用接口的场景,用得多了就写了一个请求的工具类,以后再遇到需要Get请求或者Post请求的情况直接调用就行。
|
Java 应用服务中间件 容器
JSP和Servlet的六种中文乱码处理方法
JSP和Servlet的六种中文乱码处理方法
206 0
|
JSON Java 数据格式
Spring拦截器获取request请求体中的json数据,并转换成Java对象的解决办法
Spring拦截器获取request请求体中的json数据,并转换成Java对象的解决办法
|
Java 应用服务中间件 程序员
struts2.2.3 配置中文乱码拦截过滤器 解决接收中文参数乱码问题
java 编程中得中文乱码问题,一直都是个困扰程序员的问题。
166 0
|
应用服务中间件
SpringMVC请求乱码
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
571 0