首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

SSH 框架開發中解決 MySQL 中文亂碼問題的三步走策略

     編輯:MySQL 綜合教學

SSH 框架開發中解決 MySQL 中文亂碼問題的三步走策略

中文亂碼是 Java Web 開發的經典痛點,核心原則只有一條:全鏈路編碼統一。

步驟一:資料庫與連線編碼一致

  • 建庫建表指定 CHARSET=utf8mb4(支援 Emoji)
  • JDBC 連線字串加參數:
    jdbc:mysql://host:3306/db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull

步驟二:Web 層編碼過濾器(Spring 提供)

在 web.xml 最前端配置:

<filter>
    <filter-name>encodingFilter</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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

步驟三:Tomcat 連接器編碼(補充)

server.xml 中 HTTP Connector 新增:

<Connector port="8080" protocol="HTTP/1.1"
           URIEncoding="UTF-8"
           useBodyEncodingForURI="true" />

常見遺漏檢查清單

做到上述三步並核對清單,99% 亂碼問題迎刃而解。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
層級檢查項
資料庫SHOW VARIABLES LIKE 'character_set%'; 全部為 utf8mb4
連線池Druid/HikariCP 連線屬性含 characterEncoding
ORMHibernate/MyBatis 配置檔無硬編碼覆蓋
前端HTML 、JS 檔案存為 UTF-8
伺服器Tomcat server.xml URIEncoding、JVM -Dfile.encoding=UTF-8