2016-08-21 1 views
0

Сделано приложение для перевода различных слов в другом языке Использование Яндекса конвертер получения соответствующих результатов в браузере
преобразования Поцелуй
РЕЗУЛЬТАТЫ как объект JSON является {"code":200,"lang":"en-hi","text":["चुम्बन"]} //proper
но при получении результат на приложение рЕЗУЛЬТАТ {"code":200,"lang":"en-hi","text":["à¤à¥à¤®à¥à¤¬à¤¨"]}
Android не в состоянии распознать другой язык шрифты

JSONParser jParser = new JSONParser(); 
    // get json string from url 
JSONObject json = jParser.getJSONFromUrl(yourJsonStringUrl); 

geJSONFromUrl функция

public JSONObject getJSONFromUrl(String urlSource) { 
    //make HTTP request 
    try { 
     URL url = new URL(urlSource); 
     HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
     urlConnection.setDoOutput(true); 
     urlConnection.setChunkedStreamingMode(0); 
     inputStream = new BufferedInputStream(urlConnection.getInputStream()); 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    //Read JSON data from inputStream 
    try { 
     BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"), 8); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     inputStream.close(); 
     json = sb.toString(); 
    } catch (Exception e) { 
     Log.e(TAG, "Error converting result " + e.toString()); 
    } 

    // try parse the string to a JSON object 
    try { 
     jObj = new JSONObject(json); 
    } catch (JSONException e) { 
     Log.e(TAG, "Error parsing data " + e.toString()); 
    } 

    return jObj;// return JSON String 
} 

}

Есть ли способ я могу получить правильные результаты?
Пожалуйста, помогите
Привета

+0

Может быть, вы работаете с неправильной кодировкой? Как выглядит функция getJSONFromUrl? – Chris623

+0

добавлено в вопрос – phpdroid

+0

Не могли бы вы указать код на стороне сервера. Я думаю, что речь идет о кодировании. В PHP (например) вы должны использовать что-то вроде этого [link] (http://stackoverflow.com/questions/16498286/why-does-the-php-json-encode-function-convert-utf-8-strings- в-шестнадцатеричной-entit). –

ответ

0

изменил

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"), 8); 

в

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8); 
Смежные вопросы