1. 程式人生 > >springmvc介面返回xml資料出現中文亂碼的問題

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>