Android访问服务器(TOMCAT)乱码引发的问题
来源:互联网 发布:淘宝宝贝产品参数 编辑:程序博客网 时间:2024/05/21 12:45
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了,于是又可以快乐的玩耍了。
- Android访问服务器(TOMCAT)乱码引发的问题
- Android访问服务器(TOMCAT)乱码引发的问题
- Android访问本地Tomcat服务器问题
- 访问Tomcat服务器返回数据乱码
- tomcat服务器路经访问问题
- 关于android studio模拟器无法直接通过10.0.2.2直接访问tomcat服务器的问题
- 解决apache+tomcat服务器环境中文乱码的问题
- linux 下,解决tomcat服务器接收中文乱码的问题
- Apache+tomcat服务器解决中文乱码的问题
- tomcat作为服务器出现的中文乱码问题(治标)
- Android 访问服务器问题?
- android使用volley的GET访问服务器乱码
- 本地web访问远程服务器后端引发的跨域问题
- 由webdings引发的乱码问题
- Tomcat的乱码问题
- 解决Tomcat服务器访问链接数过大的问题
- 解决Tomcat服务器访问链接数过大的问题
- 关于tomcat作为服务器 URL访问的一些问题
- 文字
- RecyclerView自定义分割线
- idea基于maven创建spark项目
- POJ 2104 主席树
- 贝叶斯思维 统计建模的Python学习法
- Android访问服务器(TOMCAT)乱码引发的问题
- 123456ABCDEFGH
- mybatis缓存使用
- 欢迎使用CSDN-markdown编辑器
- SQLSqlserver中如何将一列数据拼接成一个字符串
- Android第六天
- Oracle在Linux怎么样装我有我的方法不信你瞧瞧
- 穿透校园网搭建网站
- 大型分布式网站架构设计与实践pdf