티스토리 뷰

locale은 사전적으로 장소, 지역이라는 뜻인데, 지역에 따라 해당 코드 세트, 날짜 및 시간 형식 지정 규약, 통화 규약, 십진수 형식 지정 규약, 조합(정렬) 순서(이런 것들을 category라고 함)가 달라질수 있기 때문에 이에 관련된 환경변수를 제공하여 해당 locale에 대한 category 별 표현이 정상적으로 출력될 수 있게 한다.

 

환경설정의 우선순위가 있는데,

setlocale manpage에 보면 아래와 같이 되어 있다.

....  For  glibc,  first  (regardless of category), the environment variable LC_ALL is inspected, next the environment variable with the same name as the category (see the table above), and finally the environment variable LANG.  The first existing environment variable is used. ...

 

즉, 우선순위는

                                         LC_ALL > 나머지 카테고리 > LANG 

순서로 적용된다.

 

주로 LANG을 설정하는데 만약 LC_ALL이 다른값이면 낭패..ㅡ.ㅡ;

 

다음 명령어로 모든 카테고리별 로케일 설정을 볼수 있다. 

$locate 

LANG=C

LC_CTYPE="C"

LC_NUMERIC="C"

LC_TIME="C"

LC_COLLATE="C"

LC_MONETARY="C"

LC_MESSAGES="C"

LC_ALL=

 

다음 명령어로 시스템이 지원하는 모든 locale 목록을 볼수 있다.

$locale -a 

 

TIP)

LANG=ko_KR.eucKR 로 설정하고 각 한글데이터를 제대로 생성했는데 한글 출력이 제대로 안된다면 LC_ALL을 체크 해 본다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함