티스토리 뷰
RSS 리더를 구현하거나 웹과 관련된 프로그램을 구성할 때,
URL을 입력해서 해당 글을 가져오는 루틴이 필요한 경우가 종종 있습니다.
이 경우, 항상 문제가 되는 것이 바로 인코딩 문제인데요.
웹사이트의 경우, 인코딩을 주로 UTF-8과 EUC-KR의 두 가지를 사용해서 처리하고 있습니다.
제가 처음 RSS 리더인 RSSNym을 개발할 때 사용한 방식은 먼저 해당 URL의 텍스트를 한번 읽어온 후 인코딩 정보를 검색했습니다.
그래서 UTF-8인지 EUC-KR인지 확인하고, 인코딩을 설정해서 해당 URL의 글을 가져오는 방식을 사용했습니다.
어떤 인코딩으로 처리하든지 영문으로 된 텍스트는 깨지지 않는다는 점을 활용한 것이죠..
하지만 이 방식은 같은 URL을 두번씩 읽어오게 되므로 효율성에 문제가 있었습니다
그래서 헤더 정보만 읽어와서 인코딩을 파악하는 방식을 소개하고자 합니다.
먼저 소스코드를 보시죠..
4번째 줄을 살펴보면 ContentType을 가져오는 부분이 있습니다.
여기에 UTF-8인지 EUC-KR인지 정보가 포함되어 있는지를 확인하고 해당 인코딩으로 문서를 읽어오는 것입니다.
해당 URL을 두 번 읽어오는 무식(?)한 방법보다는 훨씬 나은 듯 하여 정리해서 올려봅니다. ^^
이왕 정리한 것 URL을 문자열로 주면 해당 HTML을 모두 읽어와서 리턴해주는 함수를 올립니다.
ContentType에 인코딩 정보가 없을 경우도 EUC-KR로 선정하도록 코딩했습니다.
그럼 즐프하시기 바랍니다.
'프로그래밍 > Java' 카테고리의 다른 글
자바 스크립트의 원격 서버 접근 및 onLoad 이벤트 처리 (0) | 2011.10.11 |
---|---|
자바스크립트에서 form의 데이터를 문자열로 가져오기 (2) | 2011.10.10 |
정규식을 활용해 Java에서 HTML 태그를 제거하는 소스 구현하기~ (0) | 2011.10.08 |
이클립스(Eclipse) 단축키를 알아두자~~ (0) | 2011.09.23 |
Log4J에 대하여 (0) | 2011.09.07 |
댓글
Blog is powered by
Tistory / Designed by
Tistory