utf8 쉘에서 깨지는 한글 메시지 (없으니만 못한 gettext)
글쓴이: hayarobi / 작성시간: 화, 2006/01/24 - 3:31오후
요즘 패키지들을 보면 nls를 구현해서 자신의 언어 환경에 맞는 언어로 메시지를 뿌려주는 패키지가 많죠. 근데 한글 하면 euc-kr을 기준으로 잡아줘서 그런지 환경을 utf8로 다 바꾸어 놓은 제 컴퓨터에서는 종종 문제가 발생합니다.
제 환경변수에서 언어 설정은 아래 두 가지를 해 놨습니다.
declare -x LANG="ko_KR.utf8"
declare -x LC_ALL="ko_KR.utf8"
차라리 nls가 꺼져 있으면 영문이라도 나오지... ko_KR을 보고 기어이 물음표나 겹쳐지는 네모칸으로 메시지를 뿌려주니 갈수록 인내심의 바닥이 보이려고 합니다.
쉘 환경을 euc-kr시대로 되돌리지 않고 이것을 해결할 방법이 없을까요? 한글 메시지가 깨지지 않는다면 더없이 좋은거고 아니면 강제로라도 영문으로 뿌려지게 할 수 없나 방법을 찾고 있습니다.
아, 쓰고 있는 것은 gentoo입니다.
man page가 삽질할 때는 그냥 http://man.kldp.org 가서 보면 되지 하고 넘겼는데, psql이 제게 덤비네요ㅡ.ㅡ; (마감을 맞춰야 한다구...)
Forums:
Re: utf8 쉘에서 깨지는 한글 메시지 (없으니만 못한 gettext)
쓰고계신 터미널이 무엇이신지요. 터미널이 UTF-8을 지원하지 않거나 UTF-8으로 설정되어 있지 않은 현상으로 보입니다. 혹은 폰트가 지원하지 않거나요.
정말 EUC-KR로 출력이 되는 것이 맞다면 iconv로 하나씩 변환하시
정말 EUC-KR로 출력이 되는 것이 맞다면 iconv로 하나씩 변환하시거나 업스트림에 수정을 요구하시는 것은 어떨까요?
LC_ALL=ko_KR luit man pg_dump
출처 : 젠투문서중에서 본듯한데 다시 검색해보니 찾기가 힘드네요.
LC_ALL=ko_KR luit ssh otherhost
이런식으로 UTF-8 을 사용하는 시스템에서 euc-kr 시스템으로 접근하거나,
응용프로그램을 이용하려고 할때 luit 를 이용하고 있습니다.
LC_ALL=ko_KR luit whois xxx.co.kr
whois 결과가 euc-kr 이어서 한글정보를 볼적에도 이용할수 있습니다.
Re: utf8 쉘에서 깨지는 한글 메시지 (없으니만 못한 gettext)
UTF-8은 문제없이 됩니다. 모든 환경을 다 UTF-8에 맞추어서 쓰고 있는데 문제가 되는 것이 UTF-8시기 이전에 개발해서 EUC-KR만 지원하는 프로그램과 UTF-8은 지원을 하는 것 같기는 한데 뭔가 삽질하는 프로그램들이 있다는 거죠.
man page의 경우는 터미널 출력을 euc-kr로 바꾸고 LC_ALL을 ko_KR.euc-kr로 하면 제대로 보이긴 합니다. 하지만 man 하나 때문에 터미널을 따로 쓴다는 것은 그다지 좋은 발상같지 않다고 생각합니다.
그리고 psql은 환경변수 바꾸고 터미널 세팅 바꾸어도 ??? 로 나옵니다. 뭔가 내부에서 잘못된 인코딩이라고 제대로 된 변환을 거부하는 것 같습니다.
=================
잠못자는 한솔아빠
댓글 달기