티스토리 뷰

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로 선정하도록 코딩했습니다.
 


그럼 즐프하시기 바랍니다. 
댓글
댓글쓰기 폼