Springmvc返回JSON格式到页面中文乱码问题
Posted 走-走
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springmvc返回JSON格式到页面中文乱码问题相关的知识,希望对你有一定的参考价值。
我是通过@ResponseBody注解的方式实现json格式传到页面的方法。首先查看源代码如下图,springmvc的默认编码是“ISO-8859-1”;
而我们通常编码都是使用UTF-8,
所以我们需要在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自带的。
以上是关于Springmvc返回JSON格式到页面中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章
springmvc,通过ajax方式提交页面数据,后台返回json数据中文信息乱码
解决spring-mvc @responseBody注解返回json 乱码问题