특정 경우에는 비교적 간단하지만 일반적인 경우에는 매우 까다 롭습니다.
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));
대답은 Content-Type
HTTP 응답 헤더 에 따라 다릅니다 .
이 헤더에는 페이로드에 대한 정보가 포함되어 있으며 텍스트 데이터의 인코딩을 정의 할 수 있습니다 . 텍스트 유형 을 가정하더라도 올바른 문자 인코딩을 결정하기 위해 컨텐츠 자체를 검사해야 할 수도 있습니다. 예 를 들어 특정 형식에 대해 수행하는 방법에 대한 자세한 내용은 HTML 4 사양 을 참조하십시오.
인코딩이 알려지면 InputStreamReader 를 사용하여 데이터를 디코딩 할 수 있습니다.
응답은 헤더가 문서와 일치하지 않거나 문서 선언이 사용 된 인코딩과 일치하지 않는 경우를 처리하려는 경우, 이는 물고기의 또 다른 주전자입니다.