Android json теряет кодировку utf-8 - PullRequest
2 голосов
/ 31 октября 2011

HI У меня странная проблема.Я проверял везде, но ответы, которые я нашел, не относятся к моей проблеме.У меня есть запрос к серверу, который возвращает мне эту строку в качестве ответа, и кодировка в порядке.Например, я получаю:

{"codi":-10,"obj":"S'ha denegat la connexi\u00c3\u00b3! El vostre compte o b\u00c3\u00a9 ha sigut bloquejat o b\u00c3\u00a9 encara no l'heu activat."}

, что хорошо.Но как только я преобразую эту строку в json, она теряет utf-8:

JSONObject json = new JSONObject(response);

json имеет это значение:

{"obj":"S'ha denegat la connexió! El vostre compte o bé ha sigut bloquejat o bé encara no l'heu activat.","codi":-10}

Я просто не знаю, что делать, чтобы изменить это,Я пробовал использовать:

JSONObject json = (JSONObject) new JSONTokener(response).nextValue();

Есть ли лучшая библиотека json?thnks

РЕДАКТИРОВАТЬ Вот как я получаю ответ от сервера:

public void executeRequest(HttpUriRequest request, String url) {
    HttpClient client = new DefaultHttpClient();

    HttpResponse httpResponse;

    try {
        httpResponse = client.execute(request);
        responseCode = httpResponse.getStatusLine().getStatusCode();
        message = httpResponse.getStatusLine().getReasonPhrase();

        HttpEntity entity = httpResponse.getEntity();


        if (entity != null) {


    response = EntityUtils.toString(entity, HTTP.UTF_8);
             Log.d("TEST", response);
             //Toast.makeText(this, jsonText, Toast.LENGTH_LONG).show();

        }

    } catch (ClientProtocolException e) {
        client.getConnectionManager().shutdown();
        // e.printStackTrace();
    } catch (IOException e) {
        client.getConnectionManager().shutdown();
        // e.printStackTrace();
    }
}

EDIT2: по запросу я включаю результаты:

System.out.println (массивы.toString (EntityUtils.toByteArray (entity)));

[123, 34, 99, 111, 100, 105, 34, 58, 45, 49, 48, 44, 34, 111, 98, 106, 34, 58, 34, 83, 39, 104, 97, 32, 100, 101, 110, 101, 103, 97, 116, 32, 108, 97, 32, 99, 111, 110, 110, 101, 120, 105, 92, 117, 48, 48, 99, 51, 92, 117, 48, 48, 98, 51, 33, 32, 69, 108, 32, 118, 111, 115, 116, 114, 101, 32, 99, 111, 109, 112, 116, 101, 32, 111, 32, 98, 92, 117, 48, 48, 99, 51, 92, 117, 48, 48, 97, 57, 32, 104, 97, 32, 115, 105, 103, 117, 116, 32, 98, 108, 111, 113, 117, 101, 106, 97, 116, 32, 111, 32, 98, 92, 117, 48, 48, 99, 51, 92, 117, 48, 48, 97, 57, 32, 101, 110, 99, 97, 114, 97, 32, 110, 111, 32, 108, 39, 104, 101, 117, 32, 97, 99, 116, 105, 118, 97, 116, 46, 34, 125]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...