Одна часть моего приложения выполняет запрос (через php) к базе данных mysql. Я использую в базе данных UTF-8, потому что у меня есть буквы типа é à ê, которые должны появиться.
Я прочитал эту проблему, потому что она казалась почти такой же.
Проблема HttpClient в Android Java UTF-8
Однако, когда я реализую код, он заменяет каждое возвращаемое значение на é как ноль.
Это мой код
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 он заменяет возвращаемые значения символом «è» на ноль.
Последняя строка = 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();
?>