Struts2 + Android 提交接口乱码问题?

本文详细介绍了在使用Struts2结合Android开发过程中遇到的乱码问题及解决方案。首先区分GET和POST请求乱码的不同处理方法,然后针对Tomcat服务器配置进行调整以确保正确的字符编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、今天写了给程序,使用struts2 + android进行开发,结果程序出现乱码的情况。

 

     解决乱码首先要考虑的步奏

     1、是get方式出现乱码,还是post方式出现乱码

          get方式下出现乱码,通常情况下是客户端提交的编码和服务器接受的编码不一致。

       android默认提交编码为UTF8编码,如果是get方式出现乱码,只需要修改tomcat钟的server.xml配置文件,设置编码为UTF-8编码,如下图

 <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"  URIEncoding="UTF-8" />

 

   设置服务器编码后,get方式乱码问题,通常解决。

 

   2、post方式乱码,主要是查看web.xml中是否配置编码过滤器等

 

 

 

一、Tomcat默认编码ISO8859_1修改为UTF-8

由于tomcat这款软件不是中国人开发的,所以他的默认编码格式是:iso-8859 所以只有通过在服务器配置文件中配置编码,系统才能以不出现乱码。
其实很简单,只是每次遇到总忘记在哪里配,怎么配,记录在这里,方便以后查找~
在tomcat/conf/server.xml中找到 Connector 在后面加上 URIEncoding=”UTF-8〃 即可

<Service name="Catalina">
...
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
...

二、tomcat默认编码是ISO8859_1,如果不修改默认编码,得到参数的JSP需要转换下:

String entityNames = request.getParameter("names");

entityNames = new String(entityNames.getBytes("ISO8859_1"),"utf-8");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值