Ini relatif sederhana dalam kasus tertentu, tetapi cukup rumit dalam kasus umum.
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://stackoverflow.com/");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.getContentMimeType(entity));
System.out.println(EntityUtils.getContentCharSet(entity));
Jawabannya tergantung pada Content-Type
tajuk respons HTTP .
Header ini berisi informasi tentang payload dan mungkin menentukan pengkodean data tekstual. Bahkan jika Anda menganggap jenis teks , Anda mungkin perlu memeriksa konten itu sendiri untuk menentukan pengkodean karakter yang benar. Misalnya, lihat spesifikasi HTML 4 untuk detail tentang cara melakukan itu untuk format tertentu.
Setelah pengkodean diketahui, InputStreamReader dapat digunakan untuk mendekode data.
Jawaban ini tergantung pada server yang melakukan hal yang benar - jika Anda ingin menangani kasus di mana header respons tidak cocok dengan dokumen, atau deklarasi dokumen tidak cocok dengan pengkodean yang digunakan, itu adalah ketel ikan.