HTTP请求和响应中的中文编码问题总结

一、HTTP请求常用的分为get请求和post请求,但两种请求方式处理编码问题的方式不一样
1.post请求因为post请求以数据包的的形式发送请求,不存在URL的编码问题,所以直接使用request.setCharacterEncoding("gbk")就可以解决编码问题。
2.get请求同样也需要使用request.setCharacterEncoding("gbk"),而且
因为get请求以URL方式传递参数,在接收请求后需要对参数执行URLdecoder. decode(url,"gbk"),如果没有显式执行Decoder则使用系统默认编码。
 
二、HTTP响应同样也分为get响应和post响应
1.post响应由于是数据包的方式,直接response. setCharacterEncoding("gbk")就可以了。
2.get响应由于是URL方式,所以首先将中文参数URL Encoder. encode(url,"gbk"),如果没有显式的调用Encoder则会使用系统默认编码,之后同样response.setCharacterEncoding("gbk")就可以了。

相关推荐