-
[Linux] iconv서버 2016. 11. 10. 11:39
iconv명령어를 사용하면 파일의 인코딩을 다른 형식으로 변경할 수 있습니다.
아래는 iconv 명령어의 옵션입니다.
$ iconv --help Usage: iconv [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...] or: iconv -l Converts text from one encoding to another encoding. Options controlling the input and output format: -f ENCODING, --from-code=ENCODING the encoding of the input -t ENCODING, --to-code=ENCODING the encoding of the output Options controlling conversion problems: -c discard unconvertible characters --unicode-subst=FORMATSTRING substitution for unconvertible Unicode characters --byte-subst=FORMATSTRING substitution for unconvertible bytes --widechar-subst=FORMATSTRING substitution for unconvertible wide characters Options controlling error output: -s, --silent suppress error messages about conversion problems Informative output: -l, --list list the supported encodings --help display this help and exit --version output version information and exit
us-ascii 인코딩 형식을 가지는 test.txt파일을 euc-kr 형식으로 변경해보겠습니다.
# 파일 인코딩 형식 확인 $ file -I test.txt test.txt: text/plain; charset=us-ascii # iconv에서 지원하는 인코딩리스트 확인 $ iconv -l | grep ASCII ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII $ iconv -l | grep EUC EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE CN-GB EUC-CN EUCCN GB2312 CSGB2312 EUC-TW EUCTW CSEUCTW EUC-KR EUCKR CSEUCKR EUC-JISX0213 # 파일 인코딩 변환 $ iconv -f US-ASCII -t EUC-KR test.txt > convert_text.txt $ ls convert_text.txt
만약 iconv 명령어 실행 중 iconv: 파일:라인수:글자수: cannot convert 라는 에러 (iconv: test_.csv:3504:51: cannot convert)가 발생할 시 아래와 같이 -c 옵션을 붙여줍니다. -c옵션은 변환할 수 없는 문자를 버리는 옵션입니다. (파일전체 변환이 안되느니 차라리 버리는게 편함)
보통 한글 파일을 변환하는데 자주 발생합니다.
$ iconv -c -f US-ASCII -t EUC-KR test.txt > convert_text.txt