请求乱码产生的原因,如何处理

请求乱码产生的原因?
浏览器用什么码表来打开表单页面就用什么编码来发送数据.当前我们的注册页面指定了utf-8来打开
这就决定了浏览器时用utf-8打开的页面,浏览器在提交表单时用utf-8编码的
而tomcat默认情况下会使用iso8859-1来进行解码
我们指定全世界的码表都兼容iso8859-1,所以英文处理时没有问题的
但是iso8859-1中并没有中文,iso88559-1对于无法处理的字节都使用?替代,所以我们看到的都是?

如何处理get请求产生的乱码
由于客户端发送那个时使用的时utf-8编码而服务器用iso8859-1解码造成了乱码啊,虽然字符已经乱掉了,但底层的字节任然是正确的,我们只要将乱码字符getBytes(“iso-859-1”)转换为字节,就是正确的字节,再将这些字节new String(bytes,“utf-8”)按照正确的码表解码,就可以转换回正确的字符了,从而解决了乱码

如何处理响应乱码?
通过response.seHeader("Conten-Type:,“text/heml;charset=utf-8”)方法,通知服务器发送数据时的码表;通过reponse.setCharacterEncoding(“utf-8”)方法,通知浏览器解析时使用的码表.量码相同就不会由乱码了
response提供了setContentType("text/heml;charset=UTF-8:)快捷方法,再它的底层,回同时做上面两件事,所以可以一行代码解决response产生的乱码问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值