当前位置: 代码迷 >> Web前端 >> 解决StringHttpMessageConverter展示中文乱码
  详细解决方案

解决StringHttpMessageConverter展示中文乱码

热度:306   发布时间:2012-06-29 15:48:47.0
解决StringHttpMessageConverter显示中文乱码

原因分析:
??? 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>

1 楼 nelson_tu 2012-06-19  
更简单的配置:
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>