1

私はこの httpclient を使用しています: http://loopj.com/android-async-http/この httpclient で json を取得しています。このhttpclientの文字エンコーディングを設定したいです。クライアントが返す JSONObject には、şğöü などのトルコ語の文字が含まれています。しかし、それは壊れていて、この文字を見ることができません。

この httpclient の文字エンコーディングを設定するにはどうすればよいですか?

4

2 に答える 2

5

正しいのは、サーバーが返されたページのエンコーディングを提供することです。その場合、正しいものを受け取ります。しかし、エンコーディングを提供しない場合、Async-httpはUTF-8を想定しているようであり、コードを見ると、デフォルトの代替コードの提供をサポートしていないようです。

AsyncHttpResponseHandlerの関連コード:

// Interface to AsyncHttpRequest
void sendResponseMessage(HttpResponse response) {
    ...
    responseBody = EntityUtils.toString(entity, "UTF-8");

必要に応じて、独自のバージョンのAsyncHttpResponseHandlerを使用するか、デフォルトのエンコーディングを指定できるパッチを提案する必要があります。

于 2013-03-23T22:26:35.770 に答える