我是通过@ResponseBody注解的方式实现json格式传到页面的方法。首先查看源代码如下图,springmvc的默认编码是“ISO-8859-1”;

而我们通常编码都是使用UTF-8,

Springmvc返回JSON格式到页面中文乱码问题

所以我们需要在springmvc的注解配置中处理json格式的时候应该修改一下默认的编码格式。

springmvc配置文件中代码如下:

<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
我们在使用基础的Servlet解决的时候是给HttpServletResponse类对象的追加一个application/json;charset=UTF-8。
在这里只配置一个application/json;charset=UTF-8是不行的。
必须同时配置
  <value>text/html;charset=UTF-8</value>
  <value>application/json;charset=UTF-8</value>
至于解释,大佬这样说的:
SpringMVC 是按照message-converters 里面配置的处理数据格式的,配置了2个消息转换器 Jackson 和 字符串,
这2个消息转换器都是Spring自带的。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2021-09-22
  • 2021-09-13
猜你喜欢
  • 2022-03-06
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2021-12-29
相关资源
相似解决方案