플래시/플렉스[Flash/Flex] System.useCodePage 대신 이렇게.. by Juelria 2009. 1. 22. https://www.lotteon.com광고쏟아지는 혜택 롯데ON 첫구매 최대 5천원 혜택!내 취향에 딱 맞는 브랜드별 혜택+중복 쿠폰! 지금 롯데온에서 만나보세요!https://www.sigmaaldrich.com/KR/ko광고씨그마알드리치 공식 홈페이지중요한 프로젝트일수록 검증된 브랜드와 함께하세요 728x90 반응형 SMALL System.useCodePage = true; 많이들 쓰시나요? 요즘은 UTF-8이 대세여서 그런지 별로 쓸 일이 없습니다..그런데 이번에 RSS 리더를 개발하던 중 문제가 생겼습니다.. RSS 리더에서 불러들인 페이지들의 경우 UTF-8이 아닌 것도 있다는 거죠..네이버 카페가 대표적입니다..EUC-KR을 쓰죠.. EUC-KR의 경우 System.useCodePage = true;를 사용하면 해결됩니다.. 그런데 지금 만드는건 RSS리더잖아요..즉, UTF-8도 있고 EUC-KR도 있습니다..다른 인코딩도 있겠죠.. System.useCodePage를 true, false로 변경하면서 해당하는 웹 페이지를 불러오면 될까요? 물론 어느정도 딜레이를 준다면 가능할 듯 합니다..하지만 그렇게 구현하는건 왠지 아닌거 같죠? 속도가 빨라야 하니까요.. 그래서 위와 같은 함수를 만들게 되었습니다.. BOM만으로는 UTF-8을 정확하게 잡을 수가 없습니다..없는 경우도 있으니까요.. 처음 코드는 위와 달리 조금 더 복잡했습니다..encodeURI()도 사용했고 바이트 어레이를 좀 더 복잡하게 다뤘죠..몇번의 테스트 끝에 위의 코드가 나왔는데요..아래 예제에 적용해 봤습니다.. 아직 UTF-8, EUC-KR, UCS2 Big/Little Endian만 테스트를 했을 뿐입니다..즉, 앞으로 다른 경우가 생길 경우 업데이트를 해야 한다는 뜻이죠.. 찾게 되면 업데이트 하겠습니다.. * 아래 예제에서는 텍스트를 뿌려줄 때 부하를 막기 위해 800자 까지만 보이도록 했습니다.. ** 페이지를 불러올 때 인코딩 정보를 정확하게 알 수 있는 좋은 방법이 있다면 알려주세요^^ 728x90 반응형 LIST 좋아요공감공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기주엘리아 블로그 관련글 플래시 플레이어 보급률 encodeURI()에서 인코딩 되지 않는 문자들의 정규식 Adobe Stratus www.searchme.com 주엘리아 블로그주엘리아의 블로그입니다.구독하기