springMVC 返回中文字符串时乱码
SpringMVC的@ResponseBody注解可以将方法返回对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码,是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1"。
- 在@RequestMapping中添加produces = "text/html;charset=UTF-8"
@RequestMapping(value = {"/test"}, method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
- 在MVC 配置中加入,spring版本必需为3.1或以上版本才可以配置
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>