現象:URL 參數包含中文時,Servlet 接收顯示亂碼。

request.setCharacterEncoding("UTF-8") 僅對 POST 有效$CATALINA_HOME/conf/server.xmlURIEncoding="UTF-8" 屬性<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />


| 請求方式 | 編碼設置位置 | 生效條件 |
|---|---|---|
| POST | Java 代碼:request.setCharacterEncoding("UTF-8") | 在讀取參數前調用 |
| GET | Tomcat 配置:<Connector URIEncoding="UTF-8"> | 重啟 Tomcat 生效 |
Tomcat 8+ 默認已使用 UTF-8,但顯式配置可避免版本差異導致的問題。