「寫入時用 UTF-8,讀取時用 GBK」→ 亂碼。核心原則:**全鏈路編碼統一**。
| 環節 | 設置點 | 推薦值 |
|---|---|---|
| 源文件編譯 | javac -encoding / Maven compiler plugin | UTF-8 |
| 控制台輸出 | IDE Run Configuration / 系統環境 | UTF-8 |
| HTTP 請求/響應 | request/response.setCharacterEncoding / Filter | UTF-8 |
| 數據庫連接 | JDBC URL ?characterEncoding=utf8 | utf8 / utf8mb4 |
| 文件讀寫 | InputStreamReader/OutputStreamWriter 指定編碼 | UTF-8 |
| JSP 頁面 | <%@ page pageEncoding="UTF-8" %> | UTF-8 |
源頭 UTF-8,傳輸 UTF-8,存儲 UTF-8,顯示 UTF-8 —— 全鏈路統一,亂碼無踪。