网上找到的资料基本上都是以下几种:
1、请求头上加上charset
2、String title = new String(value.getBytes("ISO8859-1","UTF-8")
3、在android端用URLEncoder,在服务器端用URLDecoder
有人用以上方法解决了问题,我们遇到这个问题的时候,用第三种方法也是可以解决的,但是每个中文参数都加这个,非常非常不方便,而且android和后台都得加。
最终发现还有一个可能导致乱码的原因:
修改Tomcat的Server.xml,在Connector标签中加上URLEncoding参数:
<Connector port="8080" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="false" redirectPort="8443"
acceptCount="100" debug="99" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
不同的人遇到的情况不一样。我们加上这个之后,android端不用做任何特殊的处理,后台也不用做任何处理,但是没有再出现乱码了。