본문 바로가기
프로...Linux

[Locale] 언어 설정(ko_KR : euckr / utf8)

by 크크다스 2019. 4. 1.
반응형

[Locale] 언어 설정(ko_KR : euckr / utf8)


언어설정으로 꽤 애를 먹곤 했는데,

구글상에서 서치하다가 매우 잘 설명해 놓은 사이트를 보고 

하나씩 하다보니 잘되넹....^^;;


ko_KR / ko_KR.euckr / ko_KR.utf8 : 설정에 대한 예를 중심으로 설명한다.



사전 설정 : apt-get : 최신 설정되어있으면 자연 스킵하므로 그냥 수행해도 무방할 것으로 생각함.


sudo apt-get update
sudo apt-get -y install language-support-fonts-ko language-support-input-ko  <== apt 사이트를 바꿔 보아도 나는 설치가 안됨
sudo apt-get -y install language-pack-ko language-pack-ko-base language-pack-gnome-ko language-pack-gnome-ko-base
sudo apt-get -y install locales


locale 확인 :  아래 3개가 보이면 된 것임. 없을 경우에 다음을 진행

[/home/firstpw] locale -a


ko_KR

ko_KR.euckr

ko_KR.utf8



locale 설정 :  아래 2가지가 없을 경우에 다음을 진행

[/home/firstpw] sudo dpkg-reconfigure locales


[*] ko_KR.EUC-KR EUC-KR 

[*] ko_KR.UTF-8 UTF-8   


[*] 변경은 spacebar
-> 엔터

기본 설정 선택(원하는 것)
ko_KR.UTF-8  


vim 설정 : 
[/home/firstpw] vi ~/.vimrc

set encoding=utf-8


쉘 설정 : 아래 내용 추가

[/home/firstpw] sudo vi /etc/environment


LANG="ko_KR.utf8"

LANGUAGE="ko_KR;ko;en_GB;en"

LC_ALL="ko_KR.utf8"


export LANG LC_ALL LANGUAGE


=> 반영하기 위해서 재로그인 필요(다른 방법보다 재로그인이 제일 명확임)


locale 생성 : 
[/home/firstpw] sudo vi /var/lib/locales/supported.d/ko <== 필요시 아래처럼 변경

ko_KR.UTF-8 UTF-8
ko_KR.EUC-KR EUC-KR

[/home/firstpw] sudo locale-gen <== 리스트에서 아래 내용 확인

  ko_KR.EUC-KR... done
  ko_KR.UTF-8... done


locale 수동 생성 : 
아래 파일들 존재 확인 (인터넷에서 검색후 다운가능:참고> 다운 링크 : )
/usr/share/i18n/locales/ko_KR
/usr/share/i18n/charmaps/EUC-KR.gz
/usr/share/i18n/charmaps/UTF-8.gz

[생성]
localedef -cvi ko_KR -f EUC-KR ko_KR
localedef -cvi ko_KR -f UTF-8 ko_KR

[삭제] 참고용
localedef --delete-from-archive ko_KR.euckr


백업차원에서 카피함. : 실제 원본 링크는 없어진 것으로 보임.

------------------------

[펌] KSC5601, EUC-KR, UTF-8 구분

프로필

2008. 7. 28. 10:36

 이웃추가
ASCII 0x00 ~ 0x7F 
ASCII = American Standard Code for Information Interchange 
아스키 코드는 ISO 8859-1 (Latin-1) 표준과 동일 

KSC5601 
한글 완성형 표준(한글 2,350자 표현) 
한국공업표준 정보처리분야(C)의 5601번 표준안 

전각문자/기호/자소/선문자 0xA180 ~ 0xAFFF 
한글영역 0xB0A1 ~ 0xC9FF 
한자영역 0xCA80 ~ 0xFDFF 

KSC5636 
영문자에 대한 표준 
한국공업표준 정보처리분야(C)의 5636번 표준안 
기존 ASCII Code에서 역슬래쉬(\)를 원(\) 표시로 대체 

EUC-KR 
Bell Laboratories에서 유닉스 상에서 영문자 이외의 문자를 지원하기 위해 제안한 확장 유닉스 코드(Extend UNIX Code)중 한글 인코딩 방식 영문은 KSC5636로 처리하고 한글은 KSC5601로 처리 
EUC-KR = KSC5601 + KSC5636 

Unicode 
유니코드 컨소시움에서 제정한 전세계 문자에 대한 통합 문자집합 
세계표준화기구(ISO)의 ISO 10646 표준과 동일 

UTF-8 
유니코드를 표현하기 위한 문자 인코딩 

인코딩과 표준을 구분없이 주절주절 늘어놓았군요. 
문자집합을 정의하는 표준 명칭과 인코딩으로 정리를 해볼까요. 
(표준은 코드의 영역을 정의하고, 인코딩은 이를 컴퓨터로 표현하는 방식이라고 제 나름대로 규정하였습니다.) 

표준: ASCII(ISO 8859-1), 유니코드(ISO 10646), 완성형 한글(KSC5601) 
인코딩: iso-8859-1, UTF8, EUC-KR 

영어는 iso-8859-1로 인코딩되었다고 하고, 유니코드는 요즘 대부분의 경우 UTF-8로 인코딩합니다. 완성형은 EUC-KR이라고들 하지요. 실제로 iso-8859-1이나 EUCKR의 인코딩은 표준과 동일해서 별도의 인코딩이라고 부르기도 어렵습니다. 하지만 유니코드의 경우 UTF-8은 유니코드를 인코딩(encoding)하여 전혀 다른 바이트 체계의 스트림을 생성합니다. (보다 자세한 것은 유니코드만을 다루는 문서를 만들어 보도록 하겠습니다.) 

EUC-KR은 한글 환경에서는 거의 모든 컴퓨터가 지원하므로 편리하다는 장점이 있지만 한글과 중국어를 동시에 쓸 수 없고 지원하는 글자도 제한되어 있어서 점차 UTF-8로 인코딩의 대세가 기울어지고 있습니다. 그래서 미래를 위해서는 서비스 개발시 기본 인코딩을 UTF-8로 하는 것이 좋습니다. KRISTAL은 내부저장 인코딩으로 이미 UTF-8을 사용하고 있습니다. 

[참조] 유니코드가 EUC-KR의 superset이긴 합니다만, 한국(일본도 마찬가지)의 특수한 문자환경(한자를 사용하며 한자 음가에 의한 정렬이 있다...) 때문에 유니코드가 지원하지 못하는 점이 발생합니다. 한자가 한글음가대로 정렬이 안된다는 점이 발생합니다. 이 점은 유념하시길... 


반응형

'프로...Linux' 카테고리의 다른 글

[Perl] 인코딩 변환  (0) 2019.04.03
[SHELL] bash/sh 실수 계산 작업  (0) 2019.04.02
[APT] 저장소(repository) 변경하기  (0) 2019.03.31
[SHELL] bash/sh 스트링(String) 변수 작업  (0) 2019.03.21
[C] BackSlash 제거하기  (0) 2019.03.18