SpringMVC中@ResponseBody中文乱码

http://my.oschina.net/dayu6/blog/530321

常常json以@ResponseBody注解String类型返回,由于StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1,因此这儿传回去的字符串中的中文常常是乱码,多个?号表示的样子,解决的方法是将StringHttpMessageConverter默认值改为UTF-8才行。

spring配置文件中添加这两个bean,代码如下:

<bean name="utf8Charset" class="java.nio.charset.Charset" factory-method="forName" >
        <constructor-arg value="UTF-8" ></constructor-arg>
    </bean>
    <bean
        class="org.springframework.http.converter.StringHttpMessageConverter">
        <constructor-arg ref="utf8Charset"> 
        </constructor-arg>
    </bean>

相关推荐