在Android开发中,以HttpPost方式向服务器上提交中文数据时,如果没有设置传输数据的编码类型,在服务端获取到的数据就会出现乱码。在涉及不同平台上的应用,我们尽量使用UTF-8编码格式传输中文数据,HttpPost方式传输中文指定编码可以参考以下方法:
/**
* 向服务端提交数据
*/
public void notesubmit(){
......
......
httpClient = new DefaultHttpClient();
post = new HttpPost(url);
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
NameValuePair pair1 = new BasicNameValuePair("title","中文");
NameValuePair pair2 = new BasicNameValuePair("content","中文");
pairs.add(pair1);
pairs.add(pair2);
//以post方式传输数据到服务端
try {
HttpEntity entity = new UrlEncodedFormEntity(pairs,HTTP.UTF_8);//设置编码,防止中午乱码
post = new HttpPost(url);
post.setEntity(entity);
httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(post);
//服务端返回的数据
String data = EntityUtils.toString(response.getEntity());
......
......
} 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();
}finally {
// 释放连接
httpClient.getConnectionManager().shutdown();
}
}
分享到:
相关推荐
android客户端上传数据中文乱码3中解决方案 一种HttpPost两种HTTPURLCONNECTION
通过简单的办法解决Tomcat中出现的乱码,本文章使用于jsp servlet初学者
JSP中解决POST方式和GET方式产生乱码的解决办法
C#接收Json格式数据,中文出现乱码解决方法
主要介绍了android POST数据遇到的UTF-8编码(乱码)问题解决办法,需要的朋友可以参考下
C++post请求的时候中文参数,导致传到服务器乱码,这种异常的处理。也就是如何解决POST中文参数 解释可以参考https://blog.csdn.net/gemo/article/details/8468311 这里提供成功代码
需要对webconfig修改,主要是要修改页面编码格式为utf-8
get post 请求中文乱码 处理方式一(小实例+说明文档)
可以解决post get请求乱码问题.
今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。 当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头...
Android post 服务器 代码 还不错 可以开发成通用性的接口
含Indy10.6 用于D7~XE6有详细安装方法;libeay32.dll和ssleay32.dll完美适用于indy10.6;解决D7下GET&POST;中文乱码的方法。
android采用post方式获取服务器数据,这是源代码和例子。
中文乱码解决大全,表单使用Post方式提交后接收到的乱码问题,表单get提交方式的乱码处理方式,上传文件时的乱码解决,Java代码关于url请求,接受参数的乱码,关于jsp在MyEclipse中打开的乱码问题,关于html页面在eclipse...
Android Studio实现POST请求,每个步骤都有注释,比较适合萌新了解如果通过POST方式发起网络请求。
Android中HTTP请求中文乱码解决办法 编码参数 List<NameValuePair> formparams = new ArrayList(); // 请求参数 for (NameValuePair p : params) { formparams.add(p); } UrlEncodedFormEntity entity = new ...
参看文档:http://blog.csdn.net/sinat_29398599/article/details/52880036
NULL 博文链接:https://xinklabi.iteye.com/blog/1564808
用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会...
https://blog.csdn.net/myWorld001/article/details/109261850