텍스트(Text) 파일을 읽어서 처리하는 어떤 프로그램을 실행시키면서 아래와 같은 에러를 만나는 경우가 있습니다.
Unicode, Encode/Decode, cp949, multibyte 이런 얘기가 나오면 십중팔구 캐릭터셋 문제입니다.
우리는 단순하게 파일에는 2가지 종류가 있다고 생각합니다.
1) Binary : 특정 프로그램에서만 읽을 수 있는 포맷
2) Ascii(Text) : 아무 에디터에서나 읽을 수 있는 포맷
ㅎㅎ 하지만 Text 파일에도 종류가 있습니다.
바로 문자셋(캐릭터셋, Characterset) 때문에 여러종류로 나뉘어집니다.
일반적으로 범용적으로 많이 사용하는 에디터 프로그램들, 즉, Ultraedit, Acroedit, Notepad, Word 등의 경우에는 이런 다양한 캐릭터셋의 텍스트 파일을 읽을 수 있도록 내부적으로 처리해주기 때문에 에러가 나지 않습니다.
하지만, 이런 캐릭터셋 처리를 해주지 않는 프로그램에서 텍스트파일을 읽는 경우에는 위와 같이 에러가 나는 경우가 생깁니다.
이때, 간단하게 조치할 수 있는 방법은 내가 직접 해당 텍스트파일의 캐릭터셋을 바꿔주는 것입니다.
캐릭터셋 바꿔주는 다양한 프로그램이 있는데, 여기에서는 Acroedit 에디터를 이용해서 바꿔보겠습니다.
텍스트 파일을 읽으면 Acroedit 툴에서는 아래 상태바에 어떤 캐릭터셋으로 된 파일인지 정보를 표시해줍니다.
U8-xxxx 는 유니코드 UTF8 형태로 되어 있다는 것입니다.
이것을 ANSI 코드 형태로 바꿔보겠습니다.
[파일] - [변환] - [ANSI] 메뉴를 클릭하면 현재 파일의 캐릭터셋을 변경해줍니다.
변경해주면 아래 처럼 화면하단에 ANSI-xxx 로 바뀌어 있는 것을 확인할 수 있습니다.
이대로 저장하면 완전히 바뀌게 됩니다.
이런식으로 텍스트파일의 캐릭터셋을 바꿔서 이 파일을 로딩하는 프로그램을 다시 실행시켜보면 에러가 더이상 발생하지 않는것을 확인할 수 있습니다.
'IT관련' 카테고리의 다른 글
오라클 에러 정보 (ORA-03135, ORA-03137) - Client와 DB간 네트워크 관련 오류 (0) | 2019.09.18 |
---|---|
오라클 에러 정보 (ORA-03136) - SQL*Net 관련 커넥션 오류, 리스너 접속 오류 (0) | 2019.09.18 |
오라클 EM 13c(13.1) Tuning Advisor(튜닝 권고자) 사용 예제, 방법 (0) | 2019.09.15 |
오라클 Parallel DML 처리 방법 및 주의 사항 - enable parallel dml (0) | 2019.09.10 |
오라클 에러 정보 (ORA-28002) - the password will expire within (0) | 2019.09.10 |