下午尝试着从android客户端提交中文字符到服务器端,服务器是tomcat的,利用android自带的apache的httpclient组件,用post方式提交。
客户端提交请求的代码如下:
     DefaultHttpClient mHttpClient = new DefaultHttpClient();     HttpPost mPost = new HttpPost("http://10.0.2.2:808/AndroidServer/userService.service");     List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();      pairs.add(new BasicNameValuePair("method","addUser"));     pairs.add(new BasicNameValuePair("email","[email protected]"));     pairs.add(new BasicNameValuePair("password","112358"));     pairs.add(new BasicNameValuePair("site.province","北京市"));     pairs.add(new BasicNameValuePair("site.city","东城区"));     try {mPost.setEntity(new UrlEncodedFormEntity(pairs,HTTP.UTF_8));HttpResponse response = mHttpClient.execute(mPost);      } catch (UnsupportedEncodingException e) {// TODO Auto-generated catch block e.printStackTrace();      } catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();      } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();      } catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();      } 

在服务器端提取中文数据后仍然是乱码,但奇怪的是,如果在PC客户端用main方法提交,完全相同的代码,服务器端却能正确提取中文字符,难道是android本身的问题?
期待高手能解答,下面说下解决方案吧,其实很简单,我在客户端把中文字符用URLEncoder.encode()进行转码,在服务器端用URLDecoder.decode()进行解码,这样就能正常的提取中文字符了,改动过的客户端代码如下:
  pairs.add(new BasicNameValuePair("site.province",URLEncoder.encode("北京市")));  pairs.add(new BasicNameValuePair("site.city",URLEncoder.encode("东城区")));

更多相关文章

  1. Android高仿网易新闻客户端之首页
  2. Android 中文 API (102)―― CursorAdapter
  3. Android 中文api,Debug签名证书过期(Expiry of the Debug Certific
  4. Android客户端连接tomcat时出错:connect failed: ECONNREFUSED (C
  5. Android—构建安全的Android客户端请求,避免非法请求
  6. Android ormlite 简介中文版
  7. android客户端访问网络工具类
  8. Android库. 1 UDP客户端
  9. 应用phprpc协议实现Android客户端的一些总结

随机推荐

  1. Android(安卓)编译环境快速安装(基于ubun
  2. ScaleGestureDetector SimpleOnScaleGest
  3. android获取当前Canvas位图代码
  4. android 开发环境搭建的创建AVD
  5. 【从头学android】在两个Activity之间实
  6. Android(安卓)代码获取手机ip地址(个人笔
  7. android jetpack Navigation 获取当前激
  8. Android在线源码查看
  9. Android之Notification
  10. Android(安卓)Studio 添加百分比布局库的