springmvc接口返回xml数据出现中文乱码的问题

1.如果在dao层和service层中显示xml数据没有乱码,在controller中出现了乱码,可以直接将xml数据转成byte数组,然后用String的构造方法里面添加charset utf-8就可以了。


2.如果在dao层中查询就存在中文乱码,那就是数据库链接的问题,在jdbc.properties中将url后添加

?useUnicode=true&characterEncoding=UTF-8
 如果不行 则是数据库中本身保存编码不是utf-8,数据库中存在问题。
3.如果还是不行,将tomcat源文件中的config目录中的server.xml中redirectPort="8443"后面添加 Encoding="UTF-8"
 或者在springmvc.xml中添加
 
 
<bean    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
    <property name="messageConverters">
        <list>
            <bean class = "org.springframework.http.converter.StringHttpMessageConverter">
                <property name = "supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </list>
    </property>
</bean>

web.xml中不要忘记编码过滤
 
 
<filter>
   <filter-name>hiddenHttpMethodFilter</filter-name>
   <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>hiddenHttpMethodFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
   <filter-name>httpPutFormFilter</filter-name>
   <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>httpPutFormFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

 
 
 
 
 

猜你喜欢

转载自blog.csdn.net/zhanglei082319/article/details/78534511
今日推荐