setCharacterEncoding只是設置字符的編碼方式
setContentType除了可以設置字符的編碼方式還能設置文檔內容的類型
1.setCharacterEncoding
response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE html> \n"+"這里采用的是setCharacterEncoding");//這里設置了文檔類型是html
輸出:
如果去掉"<!DOCTYPE html> \n"
這一句的話
response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println("這里采用的是setCharacterEncoding");//這里沒有設置文檔內容的類型
輸出字體會變的沒有任何格式
瀏覽器的任何字體設置都沒有用(前面帶了"<!DOCTYPE html> \n"
字體不一樣是因為我設置了瀏覽器的個性化字體)
2.setContentType
response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("這里采用的是setContentType");
完全和帶了"<!DOCTYPE html> \n"
的setCharacterEncoding一樣。
3.另外
setCharacterEncoding和setContentType只能在response.getWriter();
之前才有用,如果是在這之后是沒有任何作用的。