mysql データベースからデータを取得する必要があります。データベースにクエリを実行し、json エンコードして印刷する php スクリプトを実行しています。サーバーのphpでhttppostを介してアプリケーションから結果を取得しています。サーバーからすべてのデータを取得していますが、特殊/型指定されていない文字を含むいくつかのエントリを除きます。 null.したがって、これらの文字を '"' サーバー側のような型指定された文字に置き換える以外に...これらのデータをこれらの文字で取得してアプリケーションに表示する方法はありますか?ありがとう.
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(KEY_121);
//httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("cxxn", "Error in http connection "+e.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("convt", "Error converting result "+e.toString());
}
結果には、特殊文字を含むデータの null 値が含まれます。使用しているエンコーディングを変更する必要がありますか? 編集: MySQL の文字セットは: UTF-8 Unicode (utf8)
<?php
mysql_connect("","","");
mysql_select_db("fdict");
$q=mysql_query("SELECT (Id), (WD), (des), (udte) FROM `dict`");
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>
これは私のサーバー側の php コードです。サーバー アドレス、pass を削除しました。特殊文字を含むデータは、json_encode() の後でのみ null になるようです。SQL クエリ結果のエコーは、null 値のない適切なデータを示します。誰か助けてくださいthis.What can I do..?私のオプションは何ですか..?
ありがとう。