解决客户端浏览器和服务器交互的编码问题详解

一:针对于练习仿mvc的jsp+servlet+jsp的模式编程的一些编码问题?

1:浏览器使用编码UTF-8+post请求服务器时,在服务器的servlet被访问类中,需要服务器内置对象request配置request.setCharacterEncoding("UTF-8"),如果是其他的编码格式如gbk+post那么在服务器中就配置request.setCharacterEncoding("GBK"),意思是告诉服务器使用gbk编码进行解码

2:浏览器使用编码UTF-8+get请求服务器时,如果像设置post请求,也会是乱码,因为服务器默认使用,"ISO-8859-1"编码,那么我们是这样解决的,拿到原始数据的二进制数据,在进行

UTF-8重新编码,如具体操作,String name = request.getParameter("name"); byte[] b = name.getBytes("ISO-8859-1");String name = new String(b,"UTF-8");这样就可以得到浏览器数据需要的utf-8格式数据,如果是gbk+get 也是一样的方式进行操作.

3:服务器响应浏览器,数据不乱码,服务器的response对象需进行2个动作,先告诉服务器使用UTF-8进行编码response.setCharacterEncoding("UTF-8"),然后在告诉浏览器需要用UTF-8来解析,response.setHeader("content-type","text/html,charset=UTF-8");这样就服务器和浏览器都使用UTF-8编码

4:服务器响应客户端的2个动作简化设

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值