Servlet中乱码的问题

来源:互联网 发布:淘宝店铺装修设置单价 编辑:程序博客网 时间:2024/06/15 20:36

乱码发生的原因大致上可以描述为客户端发送了UTF-8编码的数据,网络传输过程用IOS-8859-1编码传送,传回到客户端再次使用UTF-8的编码解码

下面来说request请求和response响应如何处理乱码

response乱码 
A、设置服务器端的编码
response.setCharacterEncoding("utf-8”);
B、通知浏览器服务器发送的数据格式
response.setContentType("text/html;charset=utf-8”);

request乱码
post请求
request.setCharacterEncoding("utf-8");
get请求
String id = request.getParameter("id");
id = new String(id.getBytes("IOS-8859-1"),"utf-8");

另外一种方式是使用javase中的encoding和decoding类转换编码

进行编码:URLEncoder.encode(String s,”UTF-8”) 
进行解码:URLDecoder.decode(String s,”UTF-8”);