HttpPost+json请求---服务器中文乱码及其他

 好凌乱的题目,只是一些功能点的总结咯。

       首先构造一个json对象用于存放数据,如果光加上header为utf-8就能解决中文就大错特错了。。。

       json对象可以put变量,也可以put对象。取的时候obj.getJSONObject("people").getString("name")

[java] view plaincopy
 
 
  1. HttpClient httpClient = new DefaultHttpClient();  
  2.             String url = "***";  
  3.             HttpPost httpPost = new HttpPost(url);  
  4.             HttpResponse response;  
  5.             httpPost.addHeader("Content-Type", "application/json;charset=utf-8");         
  6.               
  7.             JSONObject obj = new JSONObject();  
  8.             obj.put("action", "postHttp");  
  9.               
  10.             JSONObject people= new JSONObject();  
  11.             people.put("name", "张三");  
  12.   
  13.             obj.put("people",people);  

           接下来就是处理中文了。这么看的话好像没啥难的哈,就是把obj在转成StringEntity的时候限制一个格式再发给httpPost。
[java] view plaincopy
 
 
  1. StringEntity se = new StringEntity( obj.toString(),"UTF-8");   
  2.             se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));   
  3.             httpPost.setEntity(se);  
  4.             response = httpClient.execute(httpPost);  
  5.             int code = response.getStatusLine().getStatusCode();  
  6. 。。。。。。  
 
0
原文地址:https://www.cnblogs.com/soundcode/p/6560947.html