1. 程式人生 > >Java Web 中 Servlet 中文亂碼解決方法

Java Web 中 Servlet 中文亂碼解決方法

Servlet中文亂碼問題解決方法

import java.io.*;
import java.net.URLEncoder;

import javax.servlet.*;
import javax.servlet.http.*;

public class setcookie extends HttpServlet {
	public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding
("utf-8"); response.setContentType("text/html,charst=utf-8"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-type", "text/html;charset=UTF-8"); String userName=request.getParameter("userName"); String userAge=request.getParameter("userAge"); String userSex = request.getParameter
("userSex"); Cookie coo = new Cookie("userName",URLEncoder.encode(userName,"UTF-8")); response.addCookie(coo); coo=new Cookie("userAge",userAge); response.addCookie(coo); coo=new Cookie("userSex",userSex); response.addCookie(coo); PrintWriter out=response.getWriter(); out.println( "<h1>你的個人資訊</h1>"
+ "你的姓名:"+request.getParameter("userName")+"<br>"+ "你的年齡:"+request.getParameter("userAge")+"<br>"+ "你的性別:"+request.getParameter("userSex")+"<br>" ); } }

核心語句只有一條

		//request.setCharacterEncoding("utf-8");
		//response.setContentType("text/html,charst=utf-8");
		//response.setCharacterEncoding("utf-8");
		response.setHeader("Content-type", "text/html;charset=UTF-8");

以上註釋部分可以不寫

執行結果如下: 在這裡插入圖片描述

如果不在該語句,執行結果為

在這裡插入圖片描述