Thursday, June 2, 2011

리눅스 한글 문제 (터미널)

우선 페도라의 원래 기본 언어 설정은 utf8 방식 입니다.
/etc/sysconfig/i18n  파일에
LANG="en_US.UTF-8"
딱 이줄만 존재 합니다.
언어 설정 은 터미널 콘솔서 #locale 명령으로 볼수 있습니다.

현재 리눅스 뿐 아니라 인터넷 등 에서 한글표현 방식이 euc_KR 과 utf8 을 공존하며
쓰고 있는 상태입니다. (웹서버, 디비 등 포함)
  웹브라우져 에서 한글 페이지를 다니다 한글인데 깨져 보이는 경우가
  바로 두 인코딩 방식 중 어떤것을 사용한다라고 선언 안해 주어서 그런 거지요!

1. 콘솔에서 한글입력은 죽어도 안된다. 질문에 대해...
X 의 터미널이 아닌 콘솔 에서 ( 런레벨3 ) 한글을 보기 위해 전부터 많은 방법이 있었습니다.
와우리눅스 나 안녕리눅스의 경우 커널에 한글코드소스를 포함 하여 한글 입출력 가능 하며..
요즘은  일본에서 만든 오픈소스인 jfbterm 을 변형하여 콘솔서 한글 입출력이 가능 합니다.
참고 링크 http://hangul-jfbterm.kldp.net/install.html
이 jfbterm 을 패키지에 넣은 배포본이 슈퍼유저 쪽에서 내놓은 SULINUX 입니다.
패도라 또는 레드헷, 우분트, 센트오에스 등의 배포본에서
X 없이 콘솔 만에서 한글 입출력이 가능 하려면
한글코드 소스 포함 커널 컴파일 또는 jfbterm 의 설치 입니다. (환경 고치는 것으로 불가능)

2. 원격 접속시 한글 입출력이 깨졌다면 그것은 아마도 i18n 파일을
EUC_KR 로 바꾸서  입니다.
원격 접속에서 한글 입출력은 서버와 상관 없이
접속 클라이언트 OS 의 접속프로그램에 달려 있습니다.
한글 PUTTY 의 경우 환경 설정서 변환에
수신 문자셋을 서버가 EUC_KR 이면 CP949 로
서버가 UTF8 이면 UTF8 로 마추면 한글 입출력이 가능 합니다.

3. 추가 글
리눅스 에서 X 윈도를 쓰지않는 서버로만 구성한 경우(콘솔 로긴, 런레벨3)
한글 입출력은
   ① 원격에서 TELNET ,  SSH 로 작업하던가...
   ② 직접 서버 콘솔로 로긴 하여 작업 해야 한다면 JFBTERM 의 설치가
        본인이 알고 있는 가장 현명한 선택입니다.

참고 용어 : 위키백과
EUC-KR은 예전에는 ksc-5601 코드로 불리던 한글 완성형 코드입니다. 코드페이지 949라고 불리며 cp949라는 설정으로도 쓰이기도 합니다. (그러나 cp949는 아래에서 말하는 UHC와 같은 개념입니다. EUC는 Extended Unix Code 의 약자입니다.)

UTF-8은 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나로, 켄 톰프슨과 롭 파이크가 만들었다고 합니다. UTF-8 인코딩은 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 사용합니다. 예를 들어서, U+0000부터 U+007F 범위에 있는 아스키 문자들은 UTF-8에서 1바이트만으로 표시되고. 4바이트로 표현되는 문자는 모두 기본 다국어 평면(BMP) 바깥의 유니코드 문자이며, 거의 사용되지 않습니다.

No comments:

Post a Comment