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

Java 亂碼問題終極解決指南:編碼統一三部曲

     編輯:Java 綜合教學

亂碼本質:編碼不一致

「寫入時用 UTF-8,讀取時用 GBK」→ 亂碼。核心原則:**全鏈路編碼統一**。

三大典型場景與解決方案

1. 文件本身就是亂碼(源頭編碼錯)

  • 現象:記事本/IDE 打開即顯示亂碼。
  • 解決:確認文件真實編碼(用 Notepad++/VS Code 查看右下角),另存為統一編碼(推薦 UTF-8)。

2. 文件正常,IDE 顯示亂碼(項目編碼未配置)

  • 現象:系統記事本正常,Eclipse/IDEA 顯示亂碼。
  • 解決:
    1. 右鍵項目 → Properties → Resource → Text file encoding → 選 UTF-8。
    2. 再導入/複製文件內容。
    3. 必要時:新建空文件(已設編碼)→ 貼上內容 → 保存。

3. 需要轉換文件編碼(如 GBK 轉 UTF-8)

  • 錯誤做法:直接改 IDE 顯示編碼 → 保存(內容實際未轉碼)。
  • 正確做法:
    1. 先在編輯器中正確設置目標編碼(如 UTF-8)。
    2. 再粘貼/寫入內容,保存即為目標編碼。

Java 代碼層面編碼統一清單

環節設置點推薦值
源文件編譯javac -encoding / Maven compiler pluginUTF-8
控制台輸出IDE Run Configuration / 系統環境UTF-8
HTTP 請求/響應request/response.setCharacterEncoding / FilterUTF-8
數據庫連接JDBC URL ?characterEncoding=utf8utf8 / utf8mb4
文件讀寫InputStreamReader/OutputStreamWriter 指定編碼UTF-8
JSP 頁面<%@ page pageEncoding="UTF-8" %>UTF-8

一句口訣

源頭 UTF-8,傳輸 UTF-8,存儲 UTF-8,顯示 UTF-8 —— 全鏈路統一,亂碼無踪。

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