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

Java Web 中文亂碼終極解決方案:五大場景全覆蓋

     編輯:Java 相關知識

場景一:JSP 頁面顯示亂碼

原因:瀏覽器解碼編碼與頁面實際編碼不一致。
解決:確保 IDE 以 UTF-8 保存,並在 JSP 頂部添加:
<%@ page pageEncoding="UTF-8" %>

場景二:Servlet 輸出亂碼

解決:輸出前設置響應編碼:
response.setContentType("text/html;charset=UTF-8");

場景三:POST 表單提交參數亂碼

解決:讀取參數前設置請求編碼:
request.setCharacterEncoding("UTF-8");
最佳實踐:配置全局 CharacterEncodingFilter(Spring 提供),一次配置全局生效。

場景四:GET 請求 / URL 參數亂碼

原因:Tomcat 預設 ISO-8859-1 解碼 URL,request.setCharacterEncoding 無效。
解決:修改 conf/server.xml 中 Connector 節點:
<Connector port="8080" ... URIEncoding="UTF-8" />

場景五:Properties 國際化配置文件亂碼

原因:Java 編譯器僅支援 Latin-1/Unicode。
解決:使用 JDK native2ascii 工具轉碼:
native2ascii -encoding UTF-8 src.properties target_zh_CN.properties

總結表

場景核心指令/配置
JSP 顯示pageEncoding="UTF-8"
Servlet 輸出response.setContentType("text/html;charset=UTF-8")
POST 參數request.setCharacterEncoding("UTF-8") / Filter
GET/URL 參數server.xml: URIEncoding="UTF-8"
Properties 文件native2ascii 轉 Unicode
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved