Điều này tương đối đơn giản trong trường hợp cụ thể, nhưng khá khó khăn trong trường hợp chung.
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));
Câu trả lời phụ thuộc vào Content-Type
tiêu đề phản hồi HTTP .
Tiêu đề này chứa thông tin về tải trọng và có thể xác định mã hóa dữ liệu văn bản. Ngay cả khi bạn giả sử các loại văn bản , bạn có thể cần phải tự kiểm tra nội dung để xác định mã hóa ký tự chính xác. Ví dụ, xem thông số kỹ thuật HTML 4 để biết chi tiết về cách thực hiện điều đó cho định dạng cụ thể đó.
Sau khi mã hóa được biết đến, InputStreamReader có thể được sử dụng để giải mã dữ liệu.
Câu trả lời này phụ thuộc vào máy chủ thực hiện đúng - nếu bạn muốn xử lý các trường hợp tiêu đề phản hồi không khớp với tài liệu hoặc khai báo tài liệu không khớp với mã hóa được sử dụng, đó là một ấm cá khác.