出現該問題的可能原因:
1. jsp頁面頭部編碼的問題。如:
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
2. 待補充-歡迎他人補充……
該問題的解決:
1. jsp頁面頭部編碼的問題,解決方法:
把
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
改為
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
為什么這樣做?
本人也是個java菜菜鳥,只知其然而不知其所以然,只做這么個記錄吧……歡迎高人給予解釋!
找了下資料,IBM這個應該靠譜:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在這行的頁面指令中的"text/html; charset=UTF-8"將應答消息中的"Content-type" 設置為"text/html; charset=UTF-8"。
"pageEncoding"只是指明了 JSP 頁面本身的編碼格式,指明了 JSP 是以什么編碼方式保存。容器在讀取文件時將起轉化為內部使用的 Unicode. 當應答發送回至瀏覽器時,容器會將內部使用的 Unicode 轉化為在 Content-type 中指定的字符集。
如果沒有指定 PageEncoding,可以通過使用 Content-type 指定的字符集來解釋 JSP 頁面字節。
為了能正常顯示 UTF-8 編碼的字符,要滿足以下兩個條件:
1.通知瀏覽器應答消息使用的字符集。
2.配置瀏覽器使其能有正常顯示 UTF-8 編碼的字體。