从android到PHP的POST请求

从android到PHP的POST请求,php,android,cakephp,http-post,mojibake,Php,Android,Cakephp,Http Post,Mojibake,我想用以下代码从android向utf-8中的PHP应用程序发送POST请求: List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair(Site.SQL_QUERY, "just a test 東京")); UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEnti

我想用以下代码从android向utf-8中的PHP应用程序发送POST请求:

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair(Site.SQL_QUERY, "just a test 東京"));

UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(params);
urlEncodedFormEntity.setContentEncoding(HTTP.UTF_8);
httppost.setEntity(urlEncodedFormEntity);

HttpResponse response = httpclient.execute(httppost);
BufferedReader reader = new BufferedReader(new inputStreamReader(response.getEntity().getContent(), HTTP.UTF_8));
String result = reader.readLine();
它将显示类似“只是一个测试”的内容□□"

我也试过了

mb_convert_encoding ($this->params['form']['sql_query'],"UTF-8")
但问题依然存在

有人能帮我吗?
谢谢你

这是从Android发送UTF-8数据时遇到的问题。你的代码可以正常工作,只是你必须将
字符串
编码到
Base64
。在PHP服务器上,你只需将
Base64
字符串解码回来。这对我很有效。如果你需要代码,我可以与你分享。

这就是发送UTF的问题所在-8来自Android的数据。你的代码可以很好地工作,只是你必须将
字符串
编码到
Base64
。在PHP服务器上,你只需将
Base64
字符串解码回来。这对我很有效。如果你需要代码,我可以共享。

我找到了解决方案!urlencodedformity urlencodedformity=new UrlEncodedForm实体(params,HTTP.UTF_8);urlEncodedFormEntity.setContentEncoding(HTTP.UTF_8);httppost.setEntity(urlEncodedFormEntity);您使用的cakephp版本是什么?在2.x its
$this->request->data
中,我找到了解决方案!urlencodedformentiurlencodedformentity encodedformentity=新的urlEncodedFormEntity(params,HTTP.UTF_8);urlEncodedFormEntity.setContentEncoding(HTTP.UTF_8);httppost.setEntity(urlEncodedFormEntity);您使用的cakephp版本是什么?在2.x中,它的
$this->request->data
我已经在Base64中编码了我的参数,现在它可以工作了~谢谢我已经在Base64中编码了我的参数,现在它可以工作了~谢谢
mb_convert_encoding ($this->params['form']['sql_query'],"UTF-8")