Java Web 中 Servlet 中文亂碼解決方法
阿新 • • 發佈:2018-12-17
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");
以上註釋部分可以不寫
執行結果如下: