原因分析:
???
StringHttpMessageConverter内部使用ISO-8859-1字符集,而不是标准的UTF-8
解决方法:
???
通过查看Spring的源码,发现可以通过设置属性supportedMediaTypes(位于父抽象类AbstractHttpMessageConverter)来设置字符集为UTF-8
配置内容:
???
<bean id="stringHttpMessageConverter"
???
???
class="org.springframework.http.converter.StringHttpMessageConverter">
???
???
<property
name="supportedMediaTypes">
???
???
???
<list>
???
???
???
???
<bean
class="org.springframework.http.MediaType">
???
???
???
???
???
<constructor-arg value="text"
/>
???
???
???
???
???
<constructor-arg value="plain"
/>
???
???
???
???
???
<constructor-arg value="UTF-8"
/>
???
???
???
???
</bean>
???
???
???
</list>
???
???
</property>
???
</bean>
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>