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();之前才有用,如果是在這之后是沒有任何作用的。
