캐릭터셋 구분함수 utf8 bom euckr cp949
엑셀은 cp949인 문서를 읽습니다. 윈도우가 cp949를 기본으로 하고 있기 때문에 그렇지요
cp949는 euc-kr과 호환이 됩니다. 리눅스에서 ansi는 euc-kr 인데 요즘 리눅스는 기본이 utf-8 이죠.
엑셀에서 csv를 잘 읽히게 하려면 euc-kr로 변경해줘야 합니다.
아래는 텍스트파일이 어떤 캐릭터셋으로 되어 있는지 확인 후 리턴해 주는 함수 입니다.
utf8과 utf8-bom이 좀 다르기 때문에 euc-kr로 변환했을때 ? 같은 것이 보인다면 일반 utf-8이 아니라고 보면 되긴 합니다.
iconv 같은것으로 그냥 변환하면 문제가 발생하니 이그노 옵션을 주거나 utf-8 bom을 utf-8로 변경 처리하던가해서 처리 해야 합니다.
하여튼 euc-kr로 변환을 했는데 ? 같은 쓸모없는것이 방해를 해서 csv 파일이 제대로 처리 되지 않았으면 캐릭터셋 문제라고 보면 됩니다.
● CP949는 마이크로소프트 윈도우 한국어 문자인코딩
- CP949는 'Code Page 949'의 약자로, 마이크로소프트에서 한국어 Windows 운영 체제를 위해 개발했습니다.
- EUC-KR(Extended Unix Code for Korean)을 확장한 형태로, 기존 EUC-KR이 지원하지 않던 한글 8,822자를 추가로 표현할 수 있게 했습니다.
- CP949는 "확장완성형 한글"이라고도 불리며, KS X 1001과 KS X 1002 표준에 정의된 한글 문자들을 모두 포함합니다.
- 윈도우 95부터 한국어 윈도우의 기본 인코딩으로 사용되었습니다.
- 유니코드(UTF-8, UTF-16)와 달리 고정 길이 인코딩 방식으로, 한글 한 글자는 항상 2바이트로 표현됩니다.
- 웹 개발이나 다국어 지원 시스템에서는 호환성 문제로 인해 최근에는 유니코드(UTF-8)로 대체되는 추세입니다.
- CP949는 MS949, UHC(Unified Hangul Code)라고도 불립니다.
