私はこの httpclient を使用しています: http://loopj.com/android-async-http/この httpclient で json を取得しています。このhttpclientの文字エンコーディングを設定したいです。クライアントが返す JSONObject には、şğöü などのトルコ語の文字が含まれています。しかし、それは壊れていて、この文字を見ることができません。
この httpclient の文字エンコーディングを設定するにはどうすればよいですか?
私はこの httpclient を使用しています: http://loopj.com/android-async-http/この httpclient で json を取得しています。このhttpclientの文字エンコーディングを設定したいです。クライアントが返す JSONObject には、şğöü などのトルコ語の文字が含まれています。しかし、それは壊れていて、この文字を見ることができません。
この httpclient の文字エンコーディングを設定するにはどうすればよいですか?
正しいのは、サーバーが返されたページのエンコーディングを提供することです。その場合、正しいものを受け取ります。しかし、エンコーディングを提供しない場合、Async-httpはUTF-8を想定しているようであり、コードを見ると、デフォルトの代替コードの提供をサポートしていないようです。
AsyncHttpResponseHandlerの関連コード:
// Interface to AsyncHttpRequest
void sendResponseMessage(HttpResponse response) {
...
responseBody = EntityUtils.toString(entity, "UTF-8");
必要に応じて、独自のバージョンのAsyncHttpResponseHandlerを使用するか、デフォルトのエンコーディングを指定できるパッチを提案する必要があります。