Servlet中的中文亂碼問題

啓動Servlet時因爲前後端牽涉的東西比較多,請求交互雙方外加servlet容器,在輸入中文的時候出現亂碼我們應該怎麼處理?
這裏寫圖片描述
亂碼處理關注點總結:【牧牛遛馬】

以下以utf-8編碼設置實現:

1、交互雙方的編碼需要保持一致:

在servlet的service方法中設置,當然如果使用繼承至HttpServlet時,在doPost,doGet方法中進行設置:

response.setCharacterEncoding("utf8");
request.setCharacterEncoding("utf8");
reponse.setHeader("Content-Type","text/html;charset=utf8");

2、客戶頁面的編碼設置與後臺編碼一致:

<meta http-equiv="Content-Type" content="text/html;charset=utf8">

3、把Tomcat的編碼也設置爲一致編碼

修改Tomcat中Conf目錄下的server.xml文件

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

4、檢查修改Servlet程序的編碼格式

在Eclipse下面找到 Windows—preference—-general—workspace下面修改。

5、轉碼

修改客戶端傳過來的編碼格式:

String str = new String(request.getParameter("name").getBytes("ISO-8859-I"),"utf-8");

這裏寫圖片描述
這裏寫圖片描述

發佈了47 篇原創文章 · 獲贊 13 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章