关于安卓客户端向tomcat服务器发送中文,服务接收到乱码解决方法

客户端:


 DefaultHttpClient httpclient = new DefaultHttpClient(); 
        String uri =Final_use.IP + "/web/Shopkeeper_list";              
        HttpPost httppost = new HttpPost(uri);  
       
        JSONObject obj = new JSONObject();        
        obj.put("flags",title);
       //下面两行代码实现向服务器发送中文,不出现乱码.     服务器端也要相应的编码 
        httppost.setEntity(new StringEntity(obj.toString(),HTTP.UTF_8));   
        httppost.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
        HttpResponse response;          
        response = httpclient.execute(httppost);  




服务器端:

 String jsonstr="";

BufferedInputStream in = new BufferedInputStream(request.getInputStream());
System.out.println("in   "+in.toString());
int i; 
         char c;
     while ((i=in.read())!=-1) {
     c=(char)i;
     jsonstr=jsonstr+c;   
     }
     //服务器端设置编码,避免收到的中文出现乱码
     json = new JSONTokener(new String(jsonstr.getBytes("iso-8859-1"),"utf-8"));
     try {       
JSONObject obj = (JSONObject) json.nextValue();
flags=obj.get("flags").toString();
} catch (JSONException e2) {
// TODO Auto-generated catch block
//flags=request.getParameter("flags");
   flags =new String(request.getParameter("flags").getBytes("iso-8859-1"),"utf-8") ;
System.out.println("*****");

   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值