Press "Enter" to skip to content

[태그:] utf-8

리눅스 텍스트파일 한글깨짐 고쳐보기

오래된 프로그램 소스나 텍스트 파일에서 한글깨진 파일이 있을 경우가 있다.

일단 예전 파일이 요즘쓰는 utf-8로 변환되어 있지 않아서 나타나는 현상이 대부분이다.

현재 리눅스 시스템이 어떤 인코딩 타입을 사용하고 있는지 알아보자

# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

UTF-8을 사용하고 있군요.

다음. 한글이 깨지는 파일의 인코딩 형태를 파악해 보자.

# file -bi test.txt
text/plain; charset=utf-8

이 파일은 텍스트 파일인데 utf-8로 저장되어 있다는 소리다. 리눅스 시스템도 UTF8이니깐 이 파일은 잘 보일거다.

리눅스 시스템이 UTF-8인데 파일은 euc-kr 이라면 깨져 보일 것이다.

리눅스 시스템이 EUC-KR인데 파일이 UTF-8이라면 역시 깨져 보일 것이다.

파일 인코딩을 euc-kr 에서 utf-8로 변환하여 저장하는 방법

# iconv -c -f euc-kr -t utf-8 org.txt > new_utf8.txt