$ locale
LANG=ko_KR.UTF-8
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=
$ ./setlocale
Locale is: C
Date is: Thu Aug 29 14:25:29 2013
Currency symbol is:
-
Locale is: ko_KR.UTF-8
Date is: 2013년 08월 29일 (목) 오후 02시 25분 29초
Currency symbol is: ₩
-
터미널 문자셋을 변경하고 실행하면 결과가 바뀌어 나옵니다.
UTF-8 터미널이라서 EUC-KR 설정시 한글이 깨져나온 것은 자연스러운 현상이고요.
$ LANG=ko_KR.EUC-KR
$ ./setlocale
Locale is: C
Date is: Thu Aug 29 14:25:48 2013
Currency symbol is:
-
Locale is: ko_KR.EUC-KR
Date is: 2013▒▒ 08▒▒ 29▒▒ (▒▒) ▒▒▒▒ 02▒▒ 25▒▒ 48▒▒
Currency symbol is: ▒▒
-
setlocale(LC_ALL, NULL) 호출해서 반환되는
"ko_KR.UTF-8" 또는 "ko_KR.EUC-KR" 같은 문자열을 통해
터미널에서 쓰이는 문자셋을 알아낼 수 있겠죠.
setlocale()
setlocale()
http://www.cplusplus.com/reference/clocale/setlocale/
아래는 위 페이지의 샘플을 실행해본 결과입니다.
터미널 문자셋을 변경하고 실행하면 결과가 바뀌어 나옵니다.
UTF-8 터미널이라서 EUC-KR 설정시 한글이 깨져나온 것은 자연스러운 현상이고요.
setlocale(LC_ALL, NULL) 호출해서 반환되는
"ko_KR.UTF-8" 또는 "ko_KR.EUC-KR" 같은 문자열을 통해
터미널에서 쓰이는 문자셋을 알아낼 수 있겠죠.
답변감사합니다.
즐거운 시간되세요..
댓글 달기