라벨이 변경인 게시물 표시

[linux] 리눅스 파일 인코딩 확인 및 변경 방법

이미지
파일 인코딩 확인 및 변경 방법 1. 파일 인코딩 확인 인코딩 형식 확인 명령어는 대체로 file 명령어에 -bi 옵션을 넣어 사용합니다. # file -bi 파일명 test.txt 파일은 iso-8859-1로 인코딩되어 있는걸 확인할 수 있습니다. 현재 test.txt 파일은 윈도우에서 한글을 ANSI 인코딩으로 저장하여 scp 명령어로 복사한 파일입니다. 윈도우에서는 한글을 ANSI로 인코딩하면 자동으로 CP949 형식으로 인코딩 한다는데... 왜 리눅스에서는 iso-8859-1로 인식하는지 잘 모르겠네요... (버그로 추정) 아시는 분은 댓글 부탁드립니다... ㅠ iso-8859-1은 서유럽 언어 인코딩을 지원[1]하기 때문에 한글을 표시할 때 깨지는 문제가 발생하게 됩니다. (cat 명령어로 test.txt 내용을 출력할 때 복호화 과정을 통해 한글을 복원해야 하는데, 현재 리눅스가 test.txt 파일을 iso-8859-1(서유럽 언어)로 인식하고 있어 한글을 서유럽 형식으로 복호화하여 이상한 문자가 출력) 2. 파일 인코딩 변경 파일 인코딩을 변환하기 위해서는 iconv 명령어를 사용합니다. 파일 인코딩 변환 # iconv -f 기존인코딩포맷 -t 바꿀인코딩포맷 기존파일명 > 바꿀파일명 파일 인코딩이 utf-8로 변경된 것을 확인할 수 있습니다. 인코딩을 변경한 아래의 명령어를 살펴보면 # iconv -c -f iso-8859-1 -t utf-8 test.txt > iso_test.txt iso-8859-1로 인코딩 된 test.txt 파일을 utf-8로 인코딩하여 iso_test.txt 파일에 새롭게 저장하겠다는 의미입니다. 기존인코딩포맷: iso-8859-1 바꿀인코딩포맷: utf-8 기존파일명: test.txt 바꿀파일명: iso_test.txt iso_test.txt 파일은 utf-8로 인코딩이 변경되었