Как отправлять и извлекать данные из веб-службы с помощью PHP и Android

Я разрабатываю приложение, в котором я получаю данные из веб-сервиса и показываю на мобильном устройстве Android. Но проблема заключается в том, что турецкие данные отображаются неправильно.

Я уже установил utf-8 в PHP. Но все же получаются специальные символы символов, такие как A?ık ?&#287 для строки Açık Öğretim .

Вот мой PHP-код:

 <?php include("Netbrut_class.php"); header('Content-type: text/xml; charset: utf-8'); $webservice = new Netbrut; $content='<?xml version="1.0" encoding="utf-8"?><salary_comparision>'; $education = $webservice->select_education(); for($i=0; $i<count($education); $i++){ $string = html_entity_decode($education[$i]['comparision_name'], ENT_QUOTES, "utf-8"); $content.="<education id='".$education[$i]['id']."'>".$string."</education>"; } $content .='</salary_comparision>'; echo $content; ?> в <?php include("Netbrut_class.php"); header('Content-type: text/xml; charset: utf-8'); $webservice = new Netbrut; $content='<?xml version="1.0" encoding="utf-8"?><salary_comparision>'; $education = $webservice->select_education(); for($i=0; $i<count($education); $i++){ $string = html_entity_decode($education[$i]['comparision_name'], ENT_QUOTES, "utf-8"); $content.="<education id='".$education[$i]['id']."'>".$string."</education>"; } $content .='</salary_comparision>'; echo $content; ?> 

И мой код Java / Здесь я пишу Java-код только для тестирования:

 public class testing { static String[] attributes; public static void main(String[] args) { URL url; try { url = new URL("http://192.168.1.106/netBrut/webservices/testing.php"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection = (HttpURLConnection) url.openConnection(); java.io.InputStream is = connection.getInputStream(); InputStreamReader reader = new InputStreamReader(is, "utf-8"); StringWriter sw = new StringWriter(); char [] buffer = new char[1024 * 8]; int count ; while( (count = reader.read(buffer)) != -1){ sw.write(buffer, 0, count); } System.out.println(sw.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

И возврат XML из веб-службы:

 <?xml version="1.0" encoding="utf-8"?> <salary_comparision> <education id='128'>A?ık ?ğretim</education>//Check here <education id='5'>Doktora</education> <education id='3'>Master</education> <education id='4'>MBA</education> <education id='2'>?niversite</education> </salary_comparision> 

Related of "Как отправлять и извлекать данные из веб-службы с помощью PHP и Android"

В коде Php просто измените приведенные ниже строки

  $string = html_entity_decode($education[$i]['comparision_name'], ENT_QUOTES, "utf-8"); $content.="<education id='".$education[$i]['id']."'>".$string."</education>"; 

в

 $string = $webservice->unhtmlspecialchars($education[$i]['comparision_name']); $content.="<education id='".$education[$i]['id']."'>".$string."</education>"; 

См. htmlspecialchars Docs .