setContentType与setCharacterEncoding的区别


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM