Android访问服务器(TOMCAT)乱码引发的问题
2014-03-22 12:43
399 查看
1、浏览器往服务器发送的请求主要可分为2种:get、post;delete、head等不赘述。
GET方式:
从浏览器上直接敲地址,最大特点就是参数直接跟在地址后面。
POST方式:表单提交等。
2、访问过程:
浏览器中输入地址 –> 浏览器对中文进行编码 –>发送到服务器 ->服务器进行解码
如何浏览器编码和服务器解码用的字符集不一致就会发生乱码问题。
3、乱码的解决
默认浏览器使用UTF-8编码(IE默认GBK当然可以通过meta标签设置)
服务器(Tomcat)默认使用iso-8859-1解码。Iso-8859-1是不支持中文的,也就是说不做处理,中文是一定乱码的。
POST方式解决:
比如表单提交,在Servlet或者Filter中设置request.setCharacterEncoding("UTF-8");就能很好的解决。
GET方式:单纯设置request.setCharacterEncoding("UTF-8");是没有用的,所以我们把默认的iso-8859-1编码改成UTF-8,在TOMCAT的配置文件的server.xml中更改:
<Connector port="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
添加URIEncoding=UTF-8
4、Android中访问:
POST方式,通过HttpUrlConnection封装POST请求【具体实现百度】,POST方式参数是需要打包发送的,不是直接跟在url后面。例如:http://www.demo.com?p=123这不是post传输参数。
GET方式,通过HttpUrlConnection可以很简单的实现,但是会发现,很容易出现乱码问题。
首先:添加URIEncoding=UTF-8工作完成,还是会发送乱码。
这是因为,上面的访问过程提到浏览器对中文进行编码,这里我们直接发送请求,并没有编码这个过程,所以我们需要自己手动编码,即:
String name =URLEncoder.encode("中国万岁","UTF-8");
这样我们就模拟了浏览器的编码,然后发送至服务器,服务器解码也改成UTF-8了,于是又可以快乐的玩耍了。
GET方式:
从浏览器上直接敲地址,最大特点就是参数直接跟在地址后面。
POST方式:表单提交等。
2、访问过程:
浏览器中输入地址 –> 浏览器对中文进行编码 –>发送到服务器 ->服务器进行解码
如何浏览器编码和服务器解码用的字符集不一致就会发生乱码问题。
3、乱码的解决
默认浏览器使用UTF-8编码(IE默认GBK当然可以通过meta标签设置)
服务器(Tomcat)默认使用iso-8859-1解码。Iso-8859-1是不支持中文的,也就是说不做处理,中文是一定乱码的。
POST方式解决:
比如表单提交,在Servlet或者Filter中设置request.setCharacterEncoding("UTF-8");就能很好的解决。
GET方式:单纯设置request.setCharacterEncoding("UTF-8");是没有用的,所以我们把默认的iso-8859-1编码改成UTF-8,在TOMCAT的配置文件的server.xml中更改:
<Connector port="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
添加URIEncoding=UTF-8
4、Android中访问:
POST方式,通过HttpUrlConnection封装POST请求【具体实现百度】,POST方式参数是需要打包发送的,不是直接跟在url后面。例如:http://www.demo.com?p=123这不是post传输参数。
GET方式,通过HttpUrlConnection可以很简单的实现,但是会发现,很容易出现乱码问题。
首先:添加URIEncoding=UTF-8工作完成,还是会发送乱码。
这是因为,上面的访问过程提到浏览器对中文进行编码,这里我们直接发送请求,并没有编码这个过程,所以我们需要自己手动编码,即:
String name =URLEncoder.encode("中国万岁","UTF-8");
这样我们就模拟了浏览器的编码,然后发送至服务器,服务器解码也改成UTF-8了,于是又可以快乐的玩耍了。
相关文章推荐
- 黑马程序员 jsp乱码,sevlet乱码,struts乱码,tomcat乱码,get乱码,post乱码 解决方式
- tomcat下域名的配置,ROOT.xml的作用
- 设置tomcat配置文件,在Myeclipse中修改jsp文件之后不用重启tomcat
- Tomcat 网站部署(三)
- Tomcat-高并发并设置
- apache+tomcat实现session共享
- apache+tomcat负载均衡3种实现方式
- Tomcat工作原理详解
- 查看tomcat版本
- Tomcat小插曲
- Tomcat内存溢出总结
- MyEclipse启动Tomcat内存溢出解决
- tomcat+jrebel实现热部署
- Installion of JDK-8 && MyEclipse && mysql && tomcat7 in Ubuntu 12.04
- Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules 问题
- tomcat6-7配置管理用户
- Apache+tomcat+mysql安装步骤
- 续:Java Tomcat 中调用.net DLL的方法 导入文件gacutil 和 regasm
- tomcat6.*不打印错误日志到控制台
- Tomcat 配置全局 log 用log4j 代替tomcat-juli