setCharacterEncoding只是设置字符的编码方式
setContentType除了可以设置字符的编码方式还能设置文档内容的类型
1.setCharacterEncoding
response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE html> "+"这里采用的是setCharacterEncoding");//这里设置了文档类型是html
输出:
如果去掉"<!DOCTYPE html>
"
这一句的话
response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println("这里采用的是setCharacterEncoding");//这里没有设置文档内容的类型
输出字体会变的没有任何格式
浏览器的任何字体设置都没有用(前面带了"<!DOCTYPE html>
"
字体不一样是因为我设置了浏览器的个性化字体)
2.setContentType
response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("这里采用的是setContentType");
完全和带了"<!DOCTYPE html>
"
的setCharacterEncoding一样。
3.另外
setCharacterEncoding和setContentType只能在response.getWriter();
之前才有用,如果是在这之后是没有任何作用的。