码迷,mamicode.com
首页 > 其他好文 > 详细

请求与响应的时候乱码问题原理

时间:2016-11-22 15:00:36      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:字符串   uname   param   log   sci   乱码   服务   str   name   

 1 乱码:
 2 
 3 请求乱码:
 4 get:
 5 
 6 1.修改tomcat中server.xml
 7 URIEncoding="UTF-8"  服务器采用utf-8的字符集编码 来进行 解码和编码
 8 默认的编码格式 是 ISO-8859-1
 9 
10 2.new String(sname.getBytes("ISO-8859-1"),"UTF-8")
11 浏览器以utf-8编码发送数据 ,服务器默认以ISO-8859-1解码,发送数据给servlet,servlet中需要再以ISO-8859-1格式 获得字节,然后 按照utf-8的字符集 解码
12 
13 post:    request.setCharacterEncoding("UTF-8");
14 设置请求数据以utf-8方式 编码 解码,这种方式只对 体提交方式有效
15 
16 
17 响应乱码:
18 
19 response.setCharacterEncoding("UTF-8"); 只是说明服务器 对客户端 响应数据 是以UTF-8 方式,响应,但是 浏览器以何种方式 阅读数据 不受控制!! 
20 
21 response.setContentType("text/html;charset=UTF-8"); 以UTF-8 方式 响应数据,并提醒浏览器 以这种方式 阅读
22 
23 response.setContentType("text/html;charset=UTF-8") 可以完全替代 response.setCharacterEncoding("UTF-8")
 1 乱码问题:           ASCII码值
 2 
 3 请求的时候乱码:
 4 get提交
 5 ***********方式一
 6 String name=request.getParameter("uname");
 7 byte[] bs=name.getBytes("ISO-8869-1");//获得客户端编码的字节数组
 8 String sname=new String(bs,"utf8");//把字节数组解码成utf-8的字符串
 9 
10 ***********方式二   只针对头(get)提交方式
11 在tomcat的server.xml中设置为URIEncoding="utf-8"
12 
13 
14 post提交
15 方式一同get的方式一
16 ***********方式二   只针对体提交方式
17 request.setCharacterEncoding("utf-8");
18 
19 
20 
21 响应的时候乱码:
22 response.setCharacterEncoding("utf-8")//AJAX可以
23 response.setContentType("text/html;charset=UTF-8");

 

请求与响应的时候乱码问题原理

标签:字符串   uname   param   log   sci   乱码   服务   str   name   

原文地址:http://www.cnblogs.com/1020182600HENG/p/6089310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!