编码问题

本文介绍了一种在Web开发中常见的乱码问题及其解决方案。通过调整代码顺序,确保在获取输出流前设置正确的字符集,避免了中文字符显示乱码的情况。

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

前先日子做文学项目时,需要对投票功能实现无刷新功能.在返回投票结果的时候,出现乱码,经过查询相关资料,终于找出原因,原来是代码顺序问题.

代码改之前为:
PrintWriter out = response.getWriter();
response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/xml;charset=UTF-8");

当初写的时候没细想.以为得到输出流,准备写到页面的时候,就把编码设置一下就行了.然而问题就出在这里.response.getWriter()的默认编码是ISO-5988-1,上面代码在没有设置response的编码时候,就已经获取了输出流out,因此,它在没有指定编码时就用默认编码.它是不能被转码成GB2312,UTF-8的,此时,返回结果有中文时,就会出现乱码.

代码修改之后:                                                                                                                                                                     esponse.setContentType("text/xml;charset=UTF-8");
 PrintWriter out = response.getWriter();
 response.setHeader("Cache-Control", "no-cache");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值