Examples

 # EUC-KR 파일을 UTF-8로 변환해 출력한다
iconv -f EUC-KR -t UTF-8 input-file

 # EUC-KR 파일을 UTF-8로 변환해 파일로 저장한다
iconv -f EUC-KR -t UTF-8 input-file > output-file

 # 사용 가능한 인코딩 목록을 출력한다
iconv -l
$ echo "안녕하세요 이 텍스트는 UTF-8 이지만 EUC-KR로 변환합니다." \
    | iconv -f UTF-8 -t EUC-KR
ȳ  Ʈ UTF-8  EUC-KR ȯϴ.

$ echo "안녕하세요 이 텍스트는 UTF-8 이지만 EUC-KR로 변환합니다." \
    | iconv -f UTF-8 -t EUC-KR \
    | iconv -f EUC-KR -t UTF-8
안녕하세요 이 텍스트는 UTF-8 이지만 EUC-KR로 변환합니다.

튜토리얼

다음과 같은 UTF-8 파일을 만들어 둔다.

$ cat input-utf-8.txt
가나다
abc
라마바

[[/cmd/file]] 명령으로 조사해보면 UTF-8 파일이라는 것을 알 수 있다.

$ file input-utf-8.txt
input-utf-8.txt: Unicode text, UTF-8 text

이 UTF-8 파일을 EUC-KR로 변환해 파일로 저장해 보자.

$ iconv -f EUC-KR -t UTF-8 input-utf-8.txt > output-euc-kr.txt

변환된 파일을 확인해보자.

$ cat output-euc-kr.txt
??????
abc
?󸶹?

알아볼 수 없는 걸 보면 변환이 된 것 같다.

이번에는 이렇게 생성된 EUC-KR 파일을 UTF-8로 변환해서 확인해보자.

$ iconv -f EUC-KR -t UTF-8 output-euc-kr.txt 
가나다
abc
라마바

UTF-8 → EUC-KR → UTF-8 과정을 통해 원래의 내용을 확인할 수 있는 것을 보니 변환이 잘 된 것 같다.

그런데 이 파일은 [[/cmd/file]] 명령으로 조사해 보면 EUC-KR 이라고 나오지 않는다.

$ file output-euc-kr.txt 
output-euc-kr.txt: ISO-8859 text

[[/cmd/file]]가 EUC-KR을 인식하지 못하기 때문이다.

EUC-KR 도 인식해주는 도구를 사용할 필요가 있고, [[/cmd/chardetect]]가 이 목적에 적합할 수 있다고 생각한다.

pip install chardet

 # 또는 pip3 로 설치
pip3 install chardet

설치가 완료된 이후 [[/cmd/chardetect]]로 확인해보니 다음과 같았다.

$ chardetect input-utf-8.txt output-euc-kr.txt 
input-utf-8.txt: utf-8 with confidence 0.99
output-euc-kr.txt: EUC-KR with confidence 0.99