下午尝试着从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","king@163.com"));
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 block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在服务器端提取中文数据后仍然是乱码,但奇怪的是,如果在PC客户端用main方法提交,完全相同的代码,服务器端却能正确提取中文字符,难道是android本身的问题?
期待高手能解答,下面说下解决方案吧,其实很简单,我在客户端把中文字符用URLEncoder.encode()进行转码,在服务器端用URLDecoder.decode()进行解码,这样就能正常的提取中文字符了,改动过的客户端代码如下:
pairs.add(new BasicNameValuePair("site.province",URLEncoder.encode("北京市")));
pairs.add(new BasicNameValuePair("site.city",URLEncoder.encode("东城区")));
分享到:
相关推荐
Android客户端发送请求中文乱码问题是指在Android客户端向服务器端提交请求时出现的中文乱码问题,这是由于在HTTP请求中,中文字符被编码为乱码字符所致。为了解决这个问题,我们可以从两个方面入手:客户端编码和...
这是解决android从客户端到服务器解决中文乱码的好方法啊!
android客户端上传数据中文乱码3中解决方案 一种HttpPost两种HTTPURLCONNECTION
提交数据到服务器会出现一些中文乱码 现在讲处理办法简单整理 中文乱码处理
C++Http上传文件到web服务器,解决中文参数乱码问题,微软提供的Chttpconnect 类在请求http头参数是中文时出现乱码
本文实例讲述了Android编程向服务器发送请求时出现中文乱码问题的解决方法。分享给大家供大家参考,具体如下: 我们在andorid项目中通过get方式向服务器发送请求,其中url参数带有中文,将会产生乱码,乱码产生的...
https://blog.csdn.net/myWorld001/article/details/109261850
Java开发Client客户端,连接Windows的Telnet服务器,解决了中文乱码问题。 分数太高了,不是我设置的,也改不了了,大家不要下了。
NULL 博文链接:https://leo1211.iteye.com/blog/468573
解决android 自带zip解压缩中文乱码的问题,导入zip.jar即可使用(与系统提供的用法相同),大小仅24k
使用过滤器实现GET请求和POST请求的中文乱码问题,只需在自己的Web应用中的web.xml中配置该filter即可使用。
本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Post方式与服务器端交互...
页面 中文 和 后台 服务器端 接收 中文乱码 问题 完全 解决;能适应各种应用,可以说是百试不爽,有这个代码在手以后再也不会遇到中文乱码的问题了
Android 中文乱码解决,android文本框中读取中文会出现乱码,这里详细的给出了多种完备解决方案。
1.zxing框架代码已简化,只保留了核心代码 2.包含zxing的核心包(中文乱码问题已处理) 3.有详细的使用方法 4.有详细的项目集成方法
NULL 博文链接:https://jerry-doit.iteye.com/blog/724436
中文乱码问题分析中文乱码问题分析中文乱码问题分析中文乱码问题分析中文乱码问题分析中文乱码问题分析
针对FROM表单传递参数中的中文乱码问题进行分析并提出解决方法