Spring MVC 3.x 版本使用 @ResponseBody 返回乱码

由于万恶的Spring MVC 默认返回编码 是 ISO-8859-1, 使用如下配置, 可以将编码专为UTF-8, 

    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean
                    class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <bean class="org.springframework.http.MediaType">
                                <constructor-arg index="0" value="text" />
                                <constructor-arg index="1" value="plain" />
                                <constructor-arg index="2" value="UTF-8" />
                            </bean>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>

 但是, 如果使用 POST 请求的时候 后台可能会报

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

因为请求的头信息中 可能请求返回的不是 text/plain;charset=UTF8  这种格式,需要吧request 的 Accept 设置为 text/plain;charset=UTF8.

posted @ 2015-06-04 17:16  TuWei  阅读(285)  评论(0)    收藏  举报