jsp頁面中,當我們登錄用戶名是中文時,在controller獲得login.jsp頁面傳遞過來的name時,會顯示爲亂碼。
爲什麼會出現亂碼呢?
因爲在頁面傳遞時,是按iso-8859-1編碼的
那麼如何解決中文亂碼問題?
1、重新轉碼 new String(u.getBytes("iso-8859-1"),"gb2312")
LoginClServlet.java文件:
String u=request.getParameter("username");
u=new String(u.getBytes("iso-8859-1"),"gb2312");
當然在每個文件中都這樣寫很麻煩,我們一般會怎麼做,新建一個Tools.java工具類。
那麼,LoginClServlet.java文件中這樣調用。
String u=request.getParameter("username");
u=Tools.getNewString(u);
2、使用過濾器來解決【後面詳細講解】
3、通過配置server.xml文件【不太穩定】
打開Tomcat服務器文件server.xml的辦法,在接受客戶請求時便將其轉換爲這種標準,如下: