가끔 locale 설정을 LC_ALL="C" 설정을 해야할 때가 있는데, 자꾸 까먹어서 기록해 둔다.
Locale
언어/국가에 최적화하기 위해서 사용하는 "지역/언어"정보다.
아래와 같이 Linux에서 locale 정보를 확인할 수 있다.
# locale LANG=en_US.UTF-8 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=
어플리케이션들은 시스템 관리자(또는 일반 유저)가 설정한 locale에 따라서, 입/출력 인코딩을 적용해서 텍스트를 출력한다.
Locale ASCII 인코딩(영문) 변경
만약 터미널 프로그램과 서버의 locale 설정이 일치하지 않는 등의 이유로 한글이 깨질 경우, 아래와 같이 ASCII 인코딩(영문)으로 변경하여 영문 출력이 가능하다.
export LC_ALL="C"
LC_ALL의 값에 의해 LC_*의 값이 override 된다.
적용 후 locale 확인
# locale LANG=en_US.UTF-8 LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C
Change the locale to ASCII