頁面1(文本編碼UTF-8,html頁面)html
POST表單到shop_list.jsp ,其中參數有name=name的input
頁面2(shop_list.jsp)(文本編碼仍是UTF-8。 且設置了contentType="text/html;charset=utf-8)tomcat
String name = Tools.RmFilter(request.getParameter("name")); //名稱-搜索的 ... response.sendRedirect("/3g/news_list.jsp?name="+URLEncoder.encode(name, "utf-8")); ...
頁面3 news_list.jsp 文本編碼UTF-8,contentType同上服務器
//String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");//用這句話本地不會亂碼,但服務器會亂碼 String name = Tools.RmNull(request.getParameter("name"));//用這句話服務器不會亂碼,但本地要亂碼
問題就出在頁面3這裏。jsp
代碼都同樣,爲何效果卻不一樣呢,開始我覺得是tomcat配置問題。結果我檢查了server.xml文件,發現本地和服務器都沒有設置tomcat的編碼類型,因此都是默認的ISO-8859-1編碼