使用HttpClick时tomcat中文乱码



在用HttpClick作为连接向服务器传送数据时中文会出现乱码问题(这里以UTF-8为例)

解决方法

    1、 服务端

  先将检查Tomcat的编码格式是否设置(Tomcat的编码格式默认的是”IOS-8859-1“),查看tomcat的server.XML文件。

        设置如下:

     更改tomcat中的server.xml文件,具体位置以自己安装的为准(如我的是 D:\Tomcat\conf\server.xml),指定浏览器的编码格式为“UTF-8”:

  方法是找到 server.xml 中的

       <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
         enableLookups="false" redirectPort="8443" acceptCount="100"
        connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />

  粗体字是我添加的,用做标记。


  2、客户端

      在Android客户端则需要将其链接转化为”UTF-8“编码格式

       设置如下:

         HttpClient client = new DefaultHttpClient();
         HttpParams parm = client.getParams();

         //设置超时时间
         parm.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000);
         parm.setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);

         //设置请求方式,重写的方式

         HttpGet httpGet=new HttpGet(params[0]);

        //更改编码格式为UTF-8
        httpGet.addHeader("Content-Type", "content=text/html; charset=UTF-8");
        httpGet.addHeader("charset", HTTP.UTF_8);  

        HttpResponse response =client.execute(httpGet);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值