utf8 쉘에서 깨지는 한글 메시지 (없으니만 못한 gettext)

hayarobi의 이미지

요즘 패키지들을 보면 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이 제게 덤비네요ㅡ.ㅡ; (마감을 맞춰야 한다구...)

cocas의 이미지

hayarobi wrote:
요즘 패키지들을 보면 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이 제게 덤비네요ㅡ.ㅡ; (마감을 맞춰야 한다구...)

쓰고계신 터미널이 무엇이신지요. 터미널이 UTF-8을 지원하지 않거나 UTF-8으로 설정되어 있지 않은 현상으로 보입니다. 혹은 폰트가 지원하지 않거나요.

Prentice의 이미지

정말 EUC-KR로 출력이 되는 것이 맞다면 iconv로 하나씩 변환하시거나 업스트림에 수정을 요구하시는 것은 어떨까요?

woonuk의 이미지

출처 : 젠투문서중에서 본듯한데 다시 검색해보니 찾기가 힘드네요.

LC_ALL=ko_KR luit ssh otherhost

이런식으로 UTF-8 을 사용하는 시스템에서 euc-kr 시스템으로 접근하거나,
응용프로그램을 이용하려고 할때 luit 를 이용하고 있습니다.

LC_ALL=ko_KR luit whois xxx.co.kr

whois 결과가 euc-kr 이어서 한글정보를 볼적에도 이용할수 있습니다.

hayarobi의 이미지

cocas wrote:
쓰고계신 터미널이 무엇이신지요. 터미널이 UTF-8을 지원하지 않거나 UTF-8으로 설정되어 있지 않은 현상으로 보입니다. 혹은 폰트가 지원하지 않거나요.

UTF-8은 문제없이 됩니다. 모든 환경을 다 UTF-8에 맞추어서 쓰고 있는데 문제가 되는 것이 UTF-8시기 이전에 개발해서 EUC-KR만 지원하는 프로그램과 UTF-8은 지원을 하는 것 같기는 한데 뭔가 삽질하는 프로그램들이 있다는 거죠.

man page의 경우는 터미널 출력을 euc-kr로 바꾸고 LC_ALL을 ko_KR.euc-kr로 하면 제대로 보이긴 합니다. 하지만 man 하나 때문에 터미널을 따로 쓴다는 것은 그다지 좋은 발상같지 않다고 생각합니다.

그리고 psql은 환경변수 바꾸고 터미널 세팅 바꾸어도 ??? 로 나옵니다. 뭔가 내부에서 잘못된 인코딩이라고 제대로 된 변환을 거부하는 것 같습니다.

=================
잠못자는 한솔아빠

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.