我想使用以下代码将 POST 请求从 android 发送到 utf-8 中的 PHP 应用程序:
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();
我将编码设置为UTF-8,但字符串中包含的日文字符无法正常显示。
这是我的 PHP 代码(cakePHP)。我只是转储参数。
function sqlQuery(){
var_dump($this->params['form']['sql_query']);exit;
}
它会显示类似“只是一个测试□□”的内容
我也试过
mb_convert_encoding ($this->params['form']['sql_query'],"UTF-8")
但问题依旧...
有人可以帮助我吗?谢谢