SpringMVC @Response 返回String 中文乱码
网上有多种解决办法,发现这种方式最简便:
在springMVC的配置文件中(springMVC-xx.xml
),修改<mvc:annotation-driven />
为:
<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>
乱码原因:org.springframework.http.converter.StringHttpMessageConverter
有个final
修饰的 Charset DEFAULT_CHARSET=Charset.forName("ISO-8859-1")
常量。即当返回类型为String
时,返回类型为text/plain
,字符被设置为默认字符ISO-8859-1
。