Android HttpPost数据中文乱码的解决方案
2012-06-20 16:42
351 查看
在项目中,以HttpPost方式向服务器上提交数据时,服务器上中文竟然显示乱码,针对该种情况证明解决呢?其实,这样的问题,在架构的时候,就应该考虑到,如果牵扯到各个不同的平台应用,尽量统一使用UTF8编码,可以少很多麻烦。当然在post数据的时候,可以指定编码,请参阅下面的函数:
转自:http://www.open-open.com/lib/view/open1328168459890.html
01 | public Map<String, Object> CreateNote( int albumId, String title, |
02 | String remark) { |
03 | String noteId = "" ; |
04 | Map<String, Object> map = new HashMap<String, Object>(); |
05 | try { |
06 | HttpParams parms = new BasicHttpParams(); |
07 | parms.setParameter( "charset" , HTTP.UTF_8); |
08 | HttpConnectionParams.setConnectionTimeout(parms, 8 * 1000 ); |
09 | HttpConnectionParams.setSoTimeout(parms, 8 * 1000 ); |
10 | HttpClient httpclient = new DefaultHttpClient(parms); |
11 | HttpPost httppost = new HttpPost(ConfigHelper.CreateUri); |
12 | httppost.addHeader( "Authorization" , mToken); |
13 | httppost.addHeader( "Content-Type" , "application/json" ); |
14 | httppost.addHeader( "charset" , HTTP.UTF_8); |
15 |
16 | JSONObject obj = new JSONObject(); |
17 | obj.put( "title" , title); |
18 | obj.put( "categoryId" , mCategoryId); |
19 | obj.put( "sourceUrl" , GetSourceUri()); |
20 |
21 | JSONArray arr = new JSONArray(); |
22 |
23 | arr.put(DateFormat.format( "yyyyMM" ,Calendar.getInstance(Locale.CHINA))); |
24 | obj.put( "tags" , arr); |
25 | obj.put( "content" , remark); |
26 | httppost.setEntity( new StringEntity(obj.toString(), HTTP.UTF_8)); |
27 | HttpResponse response; |
28 | response = httpclient.execute(httppost); |
29 | int code = response.getStatusLine().getStatusCode(); |
30 | if (code == ConstanDefine.ErrorCode.SuccOfHttpStatusCode) { |
31 | String rev = EntityUtils.toString(response.getEntity()); |
32 | obj = new JSONObject(rev); |
33 | noteId = obj.getString( "id" ); |
34 | map.put( "return_code" , "0" ); |
35 | map.put( "content" , rev); |
36 | } |
37 | } catch (Exception e) { |
38 | if (map.containsKey( "return_code" )) { |
39 | map.remove( "return_code" ); |
40 | } |
41 | map.put( "return_code" , "1" ); |
42 | } |
43 | return map; |
44 | } |
相关文章推荐
- Android HttpPost数据中文乱码的解决方案
- httpPost中文乱码解决方案(android)
- android HttpPost传JSON数据中文乱码的解决方法
- 用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案
- com.loopj.android:android-async-http 向php后台Post中文造成乱码
- HttpURLConnection以post传数据时中文乱码的一个解决方法
- HTTPClient PostMethod 中文乱码问题解决方案
- 关于Android使用HttpURLConnection传输含有中文JSON数据的报错、乱码问题
- 关于Servlet中获取到Http传输过来的中文正常,而当数据插入到MySql中时为乱码或者问好的解决方案
- HttpClient使用post和get时Json中文乱码解决方案
- Android传统HTTP请求get----post方式提交数据(包含乱码问题)
- http协议4---GET方式和POST方式获取表单数据举例3(统一方式获取,解决中文乱码问题)
- spring mvc 发送http post请求返回的中文数据乱码
- spring mvc 发送http post请求返回的中文数据乱码
- android http post方式提交后,后台乱码解决方案!
- 用XMLHTTP Post/Get HTML页面时的中文乱码之完全Script解决方案
- jquery的post数据,ashx出现中文乱码 最终 解决方案
- HTTPClient POST发送JSON数据 中文无乱码
- 用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案
- android http post 中文乱码解决