JavaWeb中的乱码码问题解决,setHeader("Content-type",xxx),setCharacterEncoding()方法的区别

1. response.setCharacterEncoding(“utf-8)

该方法设置的是向response写入的字符的编码,如

response.setCharacterEncoding("Content-type","text/html;charset=utf-8")
response.getWriter().write("你好,JavaWeb!");

上面代码表示向响应体中写入的字符的编码是utf-8
此时,浏览器中访问该代码所在的页面依然会出现乱码,因为,response向浏览器响应后,浏览器并不知道”你好,JavaWeb!”是UTF-8的格式,因为我们的系统默认是GBK编码,此时必然会出现乱码,需要将浏览器的编码手动设置成utf-8的格式才能正常的显示中文.

2. response.setHeader(“Content-type”,”text/html;charset=utf-8”)
response.setHeader("Content-type","text/html;charset=utf-8");
response.getWriter().write("你好啊,JavaWeb!");

以上通过向Response添加响应头的方式,浏览器在收到该响应的时候,会自动的使用 utf-8 的编码方式显示,而且在调用setHeader(“Content-type”,”text/html;charset=utf-8”) 以后会自动执行setCharacterEncoding(“utf-8”)这样就不会出现乱码了。

tips:常见字符编码:iso-8859-1(不支持中文)、gb2312、gbk、gb18030(系统默认编码,中国的国标码)、utf-8(万国码,支持全世界的编码,所以我们使用这个)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值