解決請求中文亂碼問題
阿新 • • 發佈:2021-01-31
將ISO-8859-1轉換為UTF-8
Servlet中請求與響應都需要設定UTF-8字符集
處理Post請求中文亂碼
方法一: //setCharacterEncoding()用於將請求體中字符集轉換成utf-8
request.setCharacterEncoding("UTF-8");
方法二:// String utf8Ename=new String(ename.getBytes("iso-8859-1"),"utf-8");
// String utf8Address=new String(address.getBytes("iso-8859-1"),"utf-8");
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //setCharacterEncoding()用於將請求體中字符集轉換成utf-8 request.setCharacterEncoding("UTF-8"); String ename=request.getParameter("ename"); String address=request.getParameter("address"); // String utf8Ename=new String(ename.getBytes("iso-8859-1"),"utf-8"); // String utf8Address=new String(address.getBytes("iso-8859-1"),"utf-8"); System.out.println(ename+":"+address); }
處理Get請求中文亂碼
修改tomcat配置檔案
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String ename=request.getParameter("ename"); String address=request.getParameter("address"); String utf8Ename=new String(ename.getBytes("iso-8859-1"),"utf-8"); String utf8Address=new String(address.getBytes("iso-8859-1"),"utf-8"); System.out.println( utf8Ename+":"+ utf8Address); response.setContentType("text/html;charset=utf-8"); response.getWriter().println(utf8Ename+":"+utf8Address); }