Content-Type響應頭,設定碼錶
阿新 • • 發佈:2019-02-16
1.Content-Type響應頭的作用 1.設定了response使用的碼錶 2.通知了瀏覽器使用指定的碼錶去解碼。 2.常用的方法: setHeader(頭名稱,值); setContentType(值); 3.亂碼的根本原因 reponse預設使用iso8859-1進行編碼,瀏覽器預設使用utf-8或者gbk解碼,因此有亂碼。 解決方案:讓reponse和瀏覽器使用統一的碼錶進行編碼 4.程式碼 public class ContentTypeServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //對瀏覽器輸出一段中文 , getByte() 預設使用 系統預設的碼錶(gbk)碼錶進行編碼, 我們的谷歌瀏覽器預設也是使用了系統預設碼錶進行解碼。 /* OutputStream out = response.getOutputStream(); out.write("中國".getBytes()); */ //設定response使用的碼錶 //response.setCharacterEncoding("UTF-8"); //通過設定Content-Type響應頭實現response與瀏覽器使用統一碼錶。 /* * Content-Type作用: * 1. 設定了repsonse使用的碼錶。 * 2. 通知了瀏覽使用何種碼錶去解碼。 */ //原始的方式:response.setHeader("Content-Type", "text/html;charset=gbk"); /* 改良的方式*/ response.setContentType("text/html;charset=gbk"); PrintWriter out = response.getWriter(); out.write("中國"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }