안드로이드 개발 질문/답변
(글 수 45,052)
책의 예제대로 파일을 다운로드하니 한글이 깨져서 나오네요.
html파일을 다운로드 하는데요, 소스 제일 위 메타태그를 보니 EUC-KR 이었습니다.
다운로드할 때 아예 EUC-KR로 해야하는지,
표시할 때 처리를 해 줘야하는지도 잘 모르겠네요..
다운로드 소스는 다음과 같습니다.
String DownloadHtml(String addr) {
StringBuilder html = new StringBuilder();
try {
URL url = new URL("addr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if (conn != null) {
conn.setConnectTimeout(10000);
conn.setUseCaches(false);
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
for (;;) {
String line = br.readLine();
if (line == null) break;
html.append(line + '\n');
}
br.close();
}
conn.disconnect();
}
}
catch (Exception ex) {;}
return html.toString();
}




버퍼로 읽어 드릴때 인코딩 처리를 하셔야 되요. 처음에 잘못 읽어드리면 나중에 인코딩을 한다고 해도 깨지거든요.
BufferedReader br =newBufferedReader(11.newInputStreamReader(conn.getInputStream()));BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream(),"EUC-KR"));
이런식으로 처리하시면 될꺼 같아요.