首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP 連接 MySQL 中文亂碼完整解決方案:編碼統一設定

     編輯:程式設計綜合問答

亂碼產生的三個關鍵環節

  1. JSP 頁面編碼:頁面頂部宣告 <%@ page contentType="text/html;charset=UTF-8" %>。
  2. 請求/回應編碼:在 Servlet 或 Filter 中設定
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    
  3. 資料庫連線與儲存編碼:
    • JDBC URL 加參數:jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
    • 資料庫、資料表、欄位字元集均設為 utf8mb4(支援 Emoji)。

完整配置範例

<%@ page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%
    request.setCharacterEncoding("UTF-8");
    String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8";
    Connection conn = DriverManager.getConnection(url, "user", "pass");
    // 後續操作...
%>

驗證步驟

  1. 向資料表插入中文資料。
  2. 用 MySQL Client 查詢:SELECT HEX(column) FROM table; 若顯示 E4B8ADE69687(UTF-8 編碼)則正確。
  3. 網頁顯示正常即完成。

只要「頁面、請求、資料庫」三端編碼一致為 UTF-8,中文亂碼即可徹底解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved