페도라.. UTF-8 & EUC-KR

myhong74의 이미지

초보 개발자 입니다.

유니코드 , 인코딩, 문자셋... 요즘.. 이것 저것 자료를 보고 있는데..
참 어렵네요... 명예의 전당에 올라온. "항상 utf-8로 보냄' 같은 글을 읽어도.. url 인코딩이니 머니 하는데.. 저 한텐 좀 어려운 개념인것 같습니다.

저 나름데로.. 그냥.. 막 해석해 버린 내용이 있는데 맞는지 좀 봐주시겠습니까? ( 말도 안되는 소리가 될 수도 있을듯 하니 이해좀 해주세요 ^^ )

페도라3을 깔아 "#>locale 명령을 치면" 기본적으로 인코딩이 UTF-8 로 되어 있더군요! 이것은 OS 에서 사용하고 있는 모든 출력 방식이나.. 문자열 해석 방식을 유니코드 인코딩 UTF-8 로 한다! <-- 이렇게 이해 하고 있습니다.

궁금한게 참 많은데요~!
제가 putty 라는 윈도우 터미널 프로그램을 쓰고 있습니다.
페도라에 접속할때 인코딩을 UTF-8로 바꿔서 접속을 하면..
한글 페이지이고 뭐고.. 아주 깔끔하게 싹 보여집니다.....

아 그리고.. 페도라 서버에서 직접 x윈도우의 gnome-terminal 에서도 man 페이지 한글도 잘 보고 있고요.... 한글 볼라고 뭐 깔고 설정 바꾸고 이런거 없었거든요!!

근데.. x윈도우가 아니라.. 그냥 콘솔모드에서 "#>ls -al" 을 하면 한글 파일명은 무슨 검은색 커서 모양의 조합으로 이상하게 보여집니다. 또는 man 페이지 또한 한글도 동일하게 깨져서 나오고요.

페도라의 인코딩을 UTF-8로 정했다면(locale 명령으로 확인한 결과) 콘솔이든.. gnome 터미널이든 동일하게 UTF-8 의 문자셋으로 변환해서 정상적으로 한글을 보여줘야 되는게 맞지 않나요??

왜 gnome 터미널은 UTF-8로 해석하여 정상적으로 한글이 보여지고 콘솔모드로 보면 왜 다깨지고 그러는거죠?? 리눅스는 기본적으로 콘솔모드에서는 UTF-8이 아닌 다른 인코딩을 사용하는 건가요?

전에 레드햇(euc-kr)을 깔았을때도... i18n 이 어쩌구 저쩌구 하면서.. 한글을 정상적으로 볼려면.. 뭘 깔고.. 설치하고 그래야 하는것으로 아는데... 왜.. 이렇게 만들어 놓은거죠??
euc-kr(표준형) 이든 utf-8(확장형) 이든 인코딩을 OS 가 깔리면서 지내 나름데로 정해 놨으면... 콘솔이든 x-window 등 그 인코딩 방식으로 정상적으로 한글을 출력해 줘야 되는거 아닌가요??

제가 너무 무지해서 그러니깐..이해좀 해주세요~~^^

아 그리고요.. 인코딩이랑 문자셋이랑 무쟈게 헷갈리는데..
문자셋은 '가' --> 45217 이다.. 머 이런식의 1:1 대응 '값'을 말하는 거고 '-->' 이렇게 표현된게 인코딩이라고 봐도 되는거죠?
그리고 charset 은 문자셋을 말하는거죠?
근데..왜.. html 파일의 메타태그에
<meta contet-type ............ charset=utf-8 >
이런식으로.. 문자셋=utf-8 이렇게 쓰죠?
<meta contet-type ............ encording=utf-8 >
이렇게 써야 맞는거 아닌가요??

또 있는데요~!
페도라3는 OS 자체가 UTF-8 인코딩을 사용하고 있습니다.
근데 제가 항상 웹 페이지를 작성을 할때 <meta .... charset=euc_kr> 왜 그런지도 모르고버릇처럼 써왔는데..
이젠 이것은 web-browser 에서 이 페이지를 요청을 할때 웹서버에서 이 페이지의 문자열 해석을 euc_kr 로 해라~ 머 이런뜻으로 이해를 하려고 하는데 맞나요??
근데.. 페도라3에서는 UTF-8 인코딩으로 메모리를 관리하고 문자열을 해석하고 할텐데.. 저 웹페이지를 해석할때는 euc-kr로 한다?
먼가 이상한데요?? 괜찮은 건가요??
그럼.. OS 커널 어딘가에... 모든 인코딩 방식을 알고 있는 모듈이 있고 어플들의 요청에따라 어떤것은 utf-8로 어떤것은 euc-kr로 변환을 한다는건가요?? 그럼 OS 어딘가에... 인코딩별 문자셋이 어딘가에.. 데이타로 갖고 있겠네요?? 맞아요???
그리고 서버가 그렇게 해석해서 웹브라우져에 보여 줄때도..
서버의 인코딩이 euc_kr 로 되어 있으면.. 웹브라우져도 euc_kr로 보여 줘야.. 정상적으로 보여 지는거죠?? 그럼 저는 여태것 인터넷 서핑을 하면서..외국 사이트를 제외한 우리 나라 사이트에서 한글 깨짐 현상은 보지 못했으니깐... 저의 IE 는 항상 제가 보고 있는 웹서버의 인코딩과 정확히 일치했다는 얘기가 되는건가요??

아.. 궁금한거 투성이네요..두서 없이..막 써놔서 죄송합니다.

근데.. 컴퓨터 쪽을 전공을 하지 않고 개발자로 일하다 보니.. 정말 이런 기본적인 베이스가 터무니 없이 모자름을 날이 갈수록 느끼고 있습니다....

요즘 부쩍 리눅스에 관심이 많아져서 이것 저것 깔아도 보고 설치도 하고 이젠.. 회사 서버를 하나둘 리눅스로 교체하고 있는데...
정말.. kldp의 글들이나.. 구글신이 검색해 주는 페이지들을 보고 있노라면... 알면 알수록.. 공부할 게 많아 지는군요...

제가 이해 하고 있는 내용이 터무니 없더라도 이해해 주시고요..
맞으면 맞다..틀리면.. 따끔하게 질책해 주세요~~
아.. 어떤 자료를 찾아서.. 공부좀 해라..식의 조언도.. 웰컴입니다.

감사합니다.

정태영의 이미지

콘솔에서 euc-kr 등으로 보여주는게 아니라..
non-asc character 들을 제대로 출력해주지 못하는거겠지요 ;)

zhcon 이라던가.. unicon(이거 근데 아직도 되긴되나요?) 등을 사용하면..
콘솔에서도 아름다운 한글을 보실 수 있을겁니다 ;)

http://zhcon.sourceforge.net/

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

정태영의 이미지

http://www.gnome.or.kr/gallery/coolimages/ahc?full=1

보심 알겠지만 한글도 잘됩니다..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

myhong74의 이미지

Quote:

non-asc character 들을 제대로 출력해주지 못하는거겠지요

근데 왜 출력을 못해주는거에요?? 한글 인코딩을 사용하면 정상으로 보여줘야 되는거 아닌가요???

아 글고.. 저위 링크된거 가 봤는데.. 콘솔에서도 정말 한글이 나이스하게 보여지네요.. ^^

근데..왜.. 저렇게 볼려면.. 뭘또 깔아야 되고.. 설치를 하고 그래야 되냐는 말씀입니다....

왜.. 한글이 지원되게.. 깔린 페도라에서... 콘솔에서 한글을 정상적으로 볼려면.... 왜.. 또 다른걸 깔야야 되는건가요???

머..다른걸 까는게 귀찮다거나..하기 싫어서 이런말 하는게 아니구요..전.. 단순히 정말 궁금해서요....

잇츠굳의 이미지

한글로 이게시판에 그렇게 하시지 마시고, 페도라 개발 사이트에 들어가서 영문으로 그렇식으로 글을 남기세요.

우리도 너네가 만든 페도라 사용하는 데, 이런 문제가 있으니까, 좀 고처주라...이렇게요.

아니면 직접 개발에 참여하시던지요.

나는 유일한 사람이며, 그 사실은 변하지 않는다.
그리고 모든 것을 할 수는 없어도, 무언가는 할 수 있다.

익명 사용자의 이미지

아..네..

저는 그냥..단순히 궁금해서 올린 질문이에요~~^^

좀더 공부좀 하고 좀더 정리 좀 해서.. 질문을 할껄 그랬나봐요~!

죄송합니다~

아.. 저.. 영어 잘 몰라요~~ ㅠ.ㅠ

다시.. 리눅스의 세계로~~ 아자자자자!!!

bh의 이미지

훽돌아든 드비앙이던 프비던 므던간에 깔고나마,,
그 안에 함께 깔리는 문서는 폼이 아닙니다..

프비는 로케일에 관한 문서가 여기에 있네요,,
file:///usr/share/doc/en_US.ISO8859-1/books/handbook/l10n.html

대강 인용하마,,
"프비는 세계 곳곳에 위치한 사용자와 기여자에 의해 분배되는 매우 큰 프로젝트입니다. 이 장은 세계 곳곳에 위치한 영어 이외의 언어를 사용하는 사용자들을 위한 (국제화) 와 (지역화) 를 위한 토론입니다."

그 밑에 이제 로케일 개념이 쭈욱 체계적으로 설명되어 있네요,,

--
이 아이디는 이제 쓰이지 않습니다.

yui의 이미지

원글을 마구 잘라서 인용합니다.
참고로 이후의 내용은 실제적이기보단 조금 개념적입니다.

myhong74 wrote:

제가 putty 라는 윈도우 터미널 프로그램을 쓰고 있습니다.
페도라에 접속할때 인코딩을 UTF-8로 바꿔서 접속을 하면..
한글 페이지이고 뭐고.. 아주 깔끔하게 싹 보여집니다.....

아 그리고.. 페도라 서버에서 직접 x윈도우의 gnome-terminal 에서도 man 페이지 한글도 잘 보고 있고요.... 한글 볼라고 뭐 깔고 설정 바꾸고 이런거 없었거든요!!

근데.. x윈도우가 아니라.. 그냥 콘솔모드에서 "#>ls -al" 을 하면 한글 파일명은 무슨 검은색 커서 모양의 조합으로 이상하게 보여집니다. 또는 man 페이지 또한 한글도 동일하게 깨져서 나오고요.

한글 파일 명(UTF-8로 인코딩되어있는 이름)을 putty나 gnome-terminal, 또는 콘솔이 받아들인다고 볼 수 있습니다. 이후의 작업은 전적으로 putty, gnome-terminal, 콘솔이 할 일입니다.
0xeab080('가'의 UTF-8 인코딩 결과값)을 화면에 "가"라고 뿌려주는 능력이 콘솔에 없을 뿐입니다.
"콘솔에서 다른 인코딩을 사용해서 그런것이다." 라는 추측은 그래서 잘못된 것입니다.

Quote:
근데..왜.. html 파일의 메타태그에
<meta contet-type ............ charset=utf-8 >
이런식으로.. 문자셋=utf-8 이렇게 쓰죠?
<meta contet-type ............ encording=utf-8 >
이렇게 써야 맞는거 아닌가요??

저도 궁금했지요. :)
http://bbs.kldp.org/viewtopic.php?t=55027

아래 부터는 부정확. -_-

myhong74 wrote:

페도라3는 OS 자체가 UTF-8 인코딩을 사용하고 있습니다.
근데 제가 항상 웹 페이지를 작성을 할때 <meta .... charset=euc_kr> 왜 그런지도 모르고버릇처럼 써왔는데..
이젠 이것은 web-browser 에서 이 페이지를 요청을 할때 웹서버에서 이 페이지의 문자열 해석을 euc_kr 로 해라~ 머 이런뜻으로 이해를 하려고 하는데 맞나요??

웹서버는 그냥 파일을 읽어 클라이언트로 보냅니다.
저 메타 태그를 사용하는 것은 클라이언트겠죠.
UTF-8환경의 OS에서 웹서버를 띄워놓으셨어도, meta tag charset=euckr이라 적힌 html파일의 내용이 euc-kr로 인코딩 되어 있다면 별 문제 없습니다.

Quote:

그럼.. OS 커널 어딘가에... 모든 인코딩 방식을 알고 있는 모듈이 있고 어플들의 요청에따라 어떤것은 utf-8로 어떤것은 euc-kr로 변환을 한다는건가요?? 그럼 OS 어딘가에... 인코딩별 문자셋이 어딘가에.. 데이타로 갖고 있겠네요?? 맞아요???

개념적으로 볼 때 커널은 인코딩을 모릅니다. 그저 바이트 시퀀스일 뿐입니다. 모든 것은 그 윗단의 라이브러리의 소행입니다.

@ 질문 많이 많이 하세요. *_*

myhong74의 이미지

답변 정말 감사합니다.

이 기회에.. 한글 & 인코딩에 대해서 많이 만이 공부해야 겠네요~!

친절히 답변해 주신 모든 분들께 감사드립니다.

좋은 하루 되세요~! :lol:

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.