CentOS Locale 변경하기
리눅스에서 한글이 깨지는 경우 CentOS locale 설정을 변경해줘야 한다.
또는 mssql로 DB데이터를 전달하는 경우에도 locale 설정을 확인해보자
* locale 정보 조회
1. locale
[ec2-user@ip-192.168.0.1 ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="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 확인
2. locale -a
[ec2-user@ip-192.168.0.1 ~]$ locale -a
aa_DJ
aa_DJ.iso88591
aa_DJ.utf8
aa_ER
...
zu_ZA.iso88591
zu_ZA.utf8
#바꾸려는 locale이 있는지 확인하려면 locale -a | grep ko_KR.utf8 같이 입력한다.
* locale 변경
3. vi /etc/sysconfig/i18n
LANG=en_US.UTF8 --> 이부분을 변경해준다 LANG=ko_KR.UTF8 or LANG=ko_KR.eucKR
* 변경사항 적용
4. source /etc/sysconfig/i18n
* 확인
5. locale
[ec2-user@ip-192.168.0.1 ~]$ locale
LANG=ko_KR.UTF-8
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
...
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=
* 추가(위에 안되거나 i18n 파일 없을때)
1. /etc/default/locale 수정
2. ~/.bash_profile 수정
* locale -a에 ko_KR.UTF-8 설치가 되어 있지않을때
$ locale-gen ko_KR.UTF-8
- 자꾸 1번서버에서 2번서버로 데이터 보내는데 한글이 깨져서 문제를 못찾고 있다가 캐릭터셋 확인해보니 이렇게 되어 있었음...