url의 내용을 텍스트보기로 표시해야합니다. 이 url의 내용은 영어 이외의 언어로 된 일반 텍스트 (메타 데이터 없음) 일뿐입니다. 나는, UTF-8 인코딩 InputStreamReader 사용하여 콘텐츠를 읽고있다안드로이드 장치에서 ISO-8859로 인코딩 된 텍스트를 표시하는 방법
URL url = new URL(url);
URLConnection urlConnection = url.openConnection();
inputStream = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(), "Charset.forName(UTF-8"));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
return sb.toString();
텍스트 디스플레이 코드 :
textView.setText(text);
그러나 텍스트가 모두 깨진 등장 내가 봤 마지막 텍스트가 ISO-에 추측 8859_1, InputStreamReader의 인코딩을 ISO-8859_1로 변경했지만 텍스트가 계속 왜곡되어 보입니다. 내가 봤 및
마침내 텍스트 뷰 코드를 수정하면 실제로 이textView.setText(new String(text.getBytes("ISO-8859-1"), "UTF-8"));
내 질문은, 1. 왜 inputStreamReader의 캐릭터 세트가 작동하지 않았다 변화 작동하는 것을 발견? 또한 2. 텍스트보기 변경이 왜 효과가 있었는지 이해할 수 없습니다. 텍스트는 UTF-8 형식으로 읽혀 졌으므로 ISO-8859를 사용하여 텍스트를 바이트로 변환 한 다음 UTF-8로 다시 인코딩하는 이유는 무엇입니까?
누군가가 그것에 대해 밝힐 수 있습니까? 또는 무슨 일이 일어나고 있는지 이해하기 위해 읽을 수있는 텍스트 일 수도 있습니다.