没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
在开始学 android 的时候提交数据到服务器出现中文乱码问题,经过多方面查资料终于将漂
亮的中文在服务器端获取到了.下面总结出三种方法可已经中文乱码解决.
第一种.在客户端适用 HpPost 方式提交数据:
public static String toCallOnServer(String path,String encode)
throws ClientProtocolException, IOException{
HttpPost httpPost = new HttpPost(pathString +path);
DefaultHttpClient client = new DefaultHttpClient();
//httpPost.addHeader("charset", HTTP.UTF_8);
HttpResponse response = client.execute(httpPost);
httpPost.addHeader("Content-Type", "text/html"); //这行很重
要
httpPost.addHeader("charset", HTTP.UTF_8); //这行很重要
//上述两行制定提交数据的时候通过什么方式来处理URL,第一句,著名这个URL是以
text/html的格式发送给服务器的(个人理解),第二句,设定url的编码方式.以服务器端一致.
在.在这里讲解下URL在传递的过程,首先tomcat在接受URL的时候是以iso-8859-1的编码方
式进行编码的,在服务器端接收到数据后要用
new String(name.getBytes(“iso-8859-1),”utf-8”) 这种方式进行转码.
if(response.getStatusLine().getStatusCode()==200){
InputStream inputStream =
response.getEntity().getContent();
return getContext(inputStream, encode);
}
return "";
}
测试代码:
public void testAddQuestion(){
try {
String pathS
="http://192.168.1.106:8080/jiudian/AndroidServlet?
action=edit&uname=jack&question=你最喜欢的电影&answer=哈利波特";
// String newPath = URLEncoder.encode(pathS, "utf-8");
String result = HttpUtils.toCallOnServer(pathS, "utf-8");
Log.i(TAG, result);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
ffc19860831
- 粉丝: 14
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页