1. 程式人生 > 其它 >解決請求中文亂碼問題

解決請求中文亂碼問題

技術標籤:java學習亂碼servletjava

將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);
	}