如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题

中文乱码这个问题很是头痛,解决post请求的乱码问题,我们也许只要设置编码过滤器,解决get请求时的中文乱码问题,我们可以采取 new String(“接收的字符串”.getbyte("ISO-8859-1"),“utf-8”)解决(这个比较麻烦,对每个待接收数据都要这样转一下,效率太低,不推荐)还可以通过修改tomcat的配置,我们找到tomcat的安装路径下面的conf文件夹,

如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题

如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题

在conf文件夹里面找到server.xml文件,打开文件,找到相同的代码“

       <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8" />”

在里面加入“URIEncoding="UTF-8" 就可以解决get请求方式的乱码;今晚进行项目开发的时候,又遇到一种乱码,就是我使用ajax异步请求数据,使用springmvc 的@ResponseBody 方式返回json数据,出现中文乱码,找了很多解决方法,都不行,有点郁闷了,最后还是皇天不负有心人啊,还是解决了,这里就献上解决的方法了。

在spring mvc的配置文件里面加入如下一段代码就Ok!

<!-- 用于使用@ResponseBody后返回中文避免乱码 -->
    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean id="stringHttpMessageConverter"
                    class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="writeAcceptCharset" value="false" />
                    <!-- 用于避免响应头过大 -->
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>

如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题