1. 程式人生 > 實用技巧 >SSM框架中的中文亂碼問題

SSM框架中的中文亂碼問題

在前面ssm框架搭建好後,出現了各種亂碼,這裡詳細記下筆記

1.設定專案的編碼:(idea)

file->setting-Editor-file Encoding->設定為UTF-8

2.設定web.xml中過濾

 <!--解決中文亂碼問題的過濾器-->
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class
> <!--設定編碼集--> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*
</url-pattern> </filter-mapping>

3.如果是前端頁面亂碼問題,前端設定頁面亂碼那個檔案頭

4.設定tomcat的編碼

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

5.再有如果是資料庫資料存入出現???

5.1、設定和資料庫連線字串編碼

mysql.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=UTF8

5.2、修改mysql資料庫和表中欄位的格式為utf-8

6.返回給前端的字元是??,亂碼。

兩種解決方案:

6.1、在@RequestMapping中設定@RequestMapping(value="/aaa",method=RequestMethod.GET,produces="text/plain;charset=utf-8")

但如果很多對映都要寫,太麻煩,故如下6.2一次性解決

6.2、在springmvc的配置檔案中加入

    <mvc:annotation-driven >
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter" >
                <property name = "supportedMediaTypes">
                <list>
                    <value>application/json;charset=utf-8</value>
                    <value>text/html;charset=utf-8</value>
                    <!-- application 可以在任意 form 表單裡面 enctype 屬性預設找到 -->
                    <value>application/x-www-form-urlencoded</value>
                </list>
            </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

但加入上述後,有些人的專案就發現訪問直接報404了

解決:因為我們在spirngmvc沒配置註解掃描。

!--配置springmvc註解掃描-->
    <context:component-scan base-package="com.yiyezhiqiu.controller"/>
    <!--配置不處理靜態資源-->
    <mvc:default-servlet-handler/>
    <!--配置註解驅動-->
    <mvc:annotation-driven />