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

Java Web 中文亂碼徹底解決:UTF-8 編碼統一配置檢查清單

     編輯:程式設計疑難解答

亂碼產生鏈路

瀏覽器請求 (編碼) → Tomcat 解碼 → Java 字串 → 業務邏輯 → 資料庫存儲 (編碼)
    ▲                                                                    │
    └──────────────────── 響應輸出 (編碼) ← 頁面渲染 (編碼) ←────────────┘

**任何一環編碼不一致即產生亂碼**。

統一 UTF-8 配置清單

層級配置位置關鍵設置
IDE/編輯器File Encoding / PropertiesProject Encoding = UTF-8
Java 源文件javac 參數-encoding UTF-8 (Maven: properties>project.build.sourceEncoding)
Tomcat 請求解碼server.xml <Connector>URIEncoding="UTF-8" useBodyEncodingForURI="true"
Servlet 請求/響應Filter / 代碼request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8")
JSP 頁面頁面指令<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
HTML 輸出<head><meta charset="UTF-8">
資料庫連接JDBC URL?characterEncoding=utf8&useSSL=false (MySQL)
資料庫表/列DDLCHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

快速驗證步驟

  1. 確認源文件確實保存為 UTF-8 (Notepad++/VS Code 右下角查看)。
  2. 瀏覽器開發者工具 Network 標籤查看 Request/Response Headers 中 Content-Type 是否含 charset=UTF-8。
  3. 資料庫客戶端執行 SHOW VARIABLES LIKE 'character%'; 確認連接/庫/表編碼。

參考資源

CSDN 系統總結:Java Web 字符編碼問題完整解決方案

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