centos6 encoding locale 설정

IT기술/linux, windows|2021. 1. 17. 16:24

2020-06-01 작성

 

locale 명령으로 현재 encoding을 확인한다. 다음과 같이 표시된다.

$ locale
LANG=ko_KR.eucKR
LC_CTYPE="ko_KR.eucKR"
LC_NUMERIC="ko_KR.eucKR"
LC_TIME="ko_KR.eucKR"
LC_COLLATE="ko_KR.eucKR"
LC_MONETARY="ko_KR.eucKR"
LC_MESSAGES="ko_KR.eucKR"
LC_PAPER="ko_KR.eucKR"
LC_NAME="ko_KR.eucKR"
LC_ADDRESS="ko_KR.eucKR"
LC_TELEPHONE="ko_KR.eucKR"
LC_MEASUREMENT="ko_KR.eucKR"
LC_IDENTIFICATION="ko_KR.eucKR"
LC_ALL=

 

1. 서버 전체의 locale 변경

eucKR을 utf8로 변경하고 싶다.

서버 전체의 locale을 변경하기 위해서는 /etc/sysconfig/i18n 파일의 설정 내용을 변경하면 된다.

즉, 다음 내용의 eucKR을 utf8로 변경하고 저장한다.

LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.eucKR"
SYSFONT="latarcyrheb-sun16"

source /etc/sysconfig/i18n로 적용하고 locale을 확인한다.

서버 대수가 많을 때는 다음과 같이 ansible로 변경할수도 있다.

ansible [cluster] -m shell -a 'sudo sed -i "s/ko_KR.eucKR/ko_KR.utf8/g" /etc/sysconfig/i18n'

 

2. 해당 계정의 locale 변경

1과 같이 했는데, locale이 변경되지 않았다면?

그 이유는 현재 접속한 계정 shell profile 설정에 우선순위가 높은 locale 설정이 따로 있는 것이다.

우선순위에 따라 다음 순서로 export LANG, export LC_* 문이 있는지 확인한 후 바꿔주면 된다.
1. [.bash_profile]
2. [.bashrc]
3. [/etc/profile]

export LC_ALL=ko_KR.UTF-8
export LANG=ko_KR.UTF-8

source [.bash_profile] 한 후에 locale을 확인해보자!

 

참고사이트:
https://www.lesstif.com/system-admin/unix-profile-export-lang-c-17105910.html

댓글()