今天在寫一個jsp的簡單功能,出現一個問題,我從頁面提交了數據之后,到了數據庫,之后就是亂碼,讀取出來不管用什么 編碼也是亂碼,用老師的方法,配置encoding過濾器后還是亂碼,在servlet中:
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
這樣似乎也沒有用,自己的頁面的編碼也設置成了utf-8
@ page language="java" pageEncoding="UTF-8"
@ page language="java" pageEncoding="UTF-8"
在網上找了很久,都沒有找到資料:
無意中看到一句話,不知道可信不可信:
就是我們在用 request.getParameter()來獲取的數據一般是iso-8859-1編碼的,如果直接用req.setCharacterEncoding("utf-8")是不行的,需要把獲取到的編碼,用iso-8859-1獲得它得bytes[]字節數組,再用String用utf-8編碼成字符串
user.setEducation(new String(req.getParameter("education").getBytes("iso-8859-1"),"utf-8"));