StringHttpMessageConverter中默认编码为ISO-8859-1
,所有返回中文时会出现乱码
尝试两种方法,均可行。
- 解决方法1:
在对应方法的注解中加入编码@RequestMapping(value="/getUsers", produces = "application/json; charset=utf-8")
- 解决方法2:
修改配置文件,如下
<mvc:annotation-driven>
<!--
1.register-defaults=true:告诉Springmvc使用我们配置文件创建的对象,不再自己创建(框架自己创建,是通过无参构造,会使用默认的字符集)
2.index="0" value="UTF-8":配置构造器的第一个参数,即defaultCharset 属性,设置为UTF-8
-->
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg index="0" value="UTF-8"></constructor-arg>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>