我的應用程序的一部分在mysql數據庫上執行查詢(通過php)。我在數據庫UTF-8中使用,因爲我需要出現像éàê這樣的字母。 我讀過這個問題,因爲這看起來差不多。Android Java UTF-8 JSON
Android Java UTF-8 HttpClient Problem
然而,當我在執行的代碼,他替換的E爲空每個返回值。
這是我的代碼
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "UTF-8");
params.setBooleanParameter("http.protocol.expect-continue", false);
HttpClient httpclient = new DefaultHttpClient(params);
HttpPost httppost = new HttpPost("http://www.example.com/example.php");
httppost.setEntity(new UrlEncodedFormEntity(query));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
String jsonText = EntityUtils.toString(entity, HTTP.UTF_8);
Toast.makeText(StoresInfo.this, jsonText, Toast.LENGTH_LONG).show();
is = entity.getContent();
所以在jsonText字符串替換他用它的「E」由空返回值。
最後一行是= entity.getConent();我添加了這個,因爲我通常使用輸入流來讀取它,但這不起作用。
有人有想法嗎?
這是我的PHP代碼
<?php
mysql_select_db("database");
$q=mysql_query($_REQUEST['query']);
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>
你確定你的web界面是UTF-8? – Hrk 2011-03-15 21:53:19
你是什麼意思?這是我的PHP代碼... – user661434 2011-03-15 21:57:20
你是否在你的PHP界面你要求提供你的UTF-8內容,而不是另一種編碼? – Hrk 2011-03-15 22:01:08