**setContentType和setCharacterEncoding的区别**

本文详细解析了setContentType和setCharacterEncoding在Java Web开发中的作用与区别,阐述了它们如何分别处理页面静态和动态内容的编码,以及在实际应用中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setContentType和setCharacterEncoding的区别

request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值
response.setContentType(“text/html;charset=gb2312”)是设置页面中为中文编码
1.setCharacterEncoding是设置动态文字(参数,数据库)
response.setCharacterEncoding设置HTTP 响应的编码

response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html> \n"+"这里采用的是setCharacterEncoding");//这里设置了文档类型是html

输出:
在这里插入图片描述
如果去掉" \n"这一句的话

response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("这里采用的是setCharacterEncoding");//这里没有设置文档内容的类型

输出:
在这里插入图片描述
浏览器的任何字体设置都没有用(前面带了" \n"字体不一样是因为我设置了浏览器的个性化字体)
2.setContentType设置页面静态文字
response.setContentType指定 HTTP 响应的编码,同时指定了浏览器显示的编码.

response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("这里采用的是setContentType");

在这里插入图片描述
完全和带了" \n"的setCharacterEncoding一样。
3.另外
如果之前使用response.setContentType设置了编码格式,则使用response.setCharacterEncoding指定的编码格式覆盖之前的设置.与response.setContentType相同的是,调用此方法,必须在getWriter执行之前或者response被提交之前。

作者:feipeng8848
来源:优快云
原文:https://blog.youkuaiyun.com/feipeng8848/article/details/56283298
版权声明:本文为博主原创文章,转载请附上博文链接!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值