'보낸사람'에 해당되는 글 1건

  1. 2007.04.11 Gmail에서 보낸사람 이름이 깨지는 이유 1 by 홍사마

출처: http://widelake.net/208

언젠가부터 gmail에서 보낸 사람이 깨지길래 브라우저 문제인지(그 당시 ie에서 firefox로 바꿨던 상황이였음) 알았더니 gmail의 정책 문제였구만..
역시 이제는 UTF-8로 통일을 해야되는 것인가? 두둥..
앞으로의 개발은 UTF-8로 적응을 하는 연습을 해야겠다..

================================================


사용자 삽입 이미지
Gmail 을 이용하다보면 간혹 리스트와 본문에서 보낸 사람의 이름이 깨져보이는 경우가 많습니다. 그것도 불과 얼마전까지 그러지 않다가 그런 것처럼 보입니다. 제 리퍼러에 'Gmail 보낸 이 깨져'라는 검색 리퍼러가 들어와 있어서 한번 그 이유를 포스팅해봅니다.


이 문제는 Gmail의 문자 인코딩 정책이 갈짓자(之)를 그리고 있다는 얘기로 귀결됩니다. Gmail의 정책 변경 방향이 잘못되었다는 것이 아니라, 자꾸 바뀌고, 일관성이 없다는 얘기입니다.



우 선, 위의 목록에서 보시면 하나는 제대로 나오고, 하나는 깨져보이고 있습니다. 이 둘은 둘다 "한글"이며, 다른 메일 서비스에서 보면 둘다 정상적으로 표시되지만, 유독 Gmail에서만 깨져나옵니다. 그렇다면 둘의 차이는 뭘까요? (참고로 위의 À̴Ͻýº 글자는 "이니시스"라는 글자입니다) 그냥 보이는 메일 화면에서는 차이를 알 수 없습니다. 그렇다면 원문 보기를 해야죠. 보낸 사람 이름이 깨진 "이니시스"의 메일을 ①번, 아래 정상적으로 나오는 "한 민신"의 메일을 ②라고 하겠습니다.

①의 원문보기로 들어가서 헤더 부분 중 From을 찾아봅니다. Firefox에서 아래처럼 나옵니다.

후아, 무슨 글자인지 깨져서 도저히 알아볼 수가 없습니다. Firefox > 보기 > 문자 인코딩 > 한국어(EUC-KR)로 지정해봅니다.


이렇게 하면 저 깨진 글자가 제대로 나옵니다. 즉, 저 헤더의 보낸 사람 이름, 받는 사람 이름, 그리고 제목은 EUC-KR로 인코딩되어있다는 것을 알 수 있습니다.

그럼, 제대로 나오는 ②의 원문을 한번 보도록 하죠.

인코딩된 문자열로 되어있습니다.

둘간의 차이를 아실 수 있습니까? 네, 바로 제목과 보낸 사람 이름 필드에 문자 인코딩 셋이 지정되어있다면 글자가 깨지지 않습니다. ①의 메일에서는 "한글"로 제목과 이름을 기입했음에도 불구하고 문자 인코딩 셋을 지정하지 않았고, 유니코드(UTF-8) 기반인 Gmail에서 EUC-KR로 인코딩된 글자를 유니코드로 디코딩하려다보니 저렇게 깨져보이는 현상이 나타난 것입니다.

그 러나 ②의 메일에서는 제목과 이름에 들어있는 문자들이 KSC5601-1987로 인코딩한 문자열이라고 지정하였습니다(=?ks_c_5601-1987?B? ~ ?=). 이 문자 인코딩 셋의 지정 여부 때문에 글자가 깨지고, 깨지지 않는 차이를 나타내는 것입니다. 그렇기 때문에, 이 문제는 기본적으로 받는 사람이 잘못한 것이 아니라 보내는 쪽이 잘못한 문제라고 할 수 있습니다.1  보내는 쪽에서 반드시 수정을 해야하는 사항이며, 개인적으로는 헤더부분에 문자 인코딩 셋을 지정하지 않는 것 자체가 '내가 메일을 제대로 보내지 않겠소'라고 선언하는 꼴 밖에 되지 않는다고 봅니다.

그럼에도 불구하고 Gmail이 문자 인코딩 셋 문제에 있어 갈짓자(之) 행보를 보인다고 할 수 있는 것은 크게 세가지 이유가 있습니다.

첫번째, 이 문자 인코딩 셋이 지정되지 않은 문자열을 어떤 때는 자동으로 처리하여 제대로 보여주다가도, 갑자기 처리하지 않아 죄다 깨지게 하더니, 어느날 다시 제대로 처리를 해주다가 최근 들어 다시 처리를 해주고 있지 않습니다.

제가 작년 6월에 이 문제에 관련한 이삼구글님의 포스트에 남긴 댓글 중 일부입니다.

Gmail 처음 시작 당시에는 인코딩 셋을 자동으로 식별하여 처리해줬다가, 2004년말 즈음에 해당 처리과정 자체를 내렸었습니다. 그리고 2005년 봄부터 다시 처리가 되기 시작했었는데, 6월 15일 이후 다시 처리과정을 내린 것으로 보입니다(지금 제 gmail의 메일로 판단해볼 때). 결국 Google 쪽에서도 아직 인코딩 여부 판단에 대한 최종 결정을 내리지 못한 것으로 보입니다. 2년새 인코딩 정책이 3번이나 바뀐 셈이니까요.

2006년 6월 이후에도 계속해서 디코딩 정책이 바뀌었습니다. 이삼구님의 언급으로는 Gmail이 메일 원문 중 본문 문자 인코딩 셋(Content-Type: text/html; charset=euc-kr)을 참조하여 보여주나, 이것마저 제대로 되지 않을 경우 깨질 수 있다고 하셨지만, 제가 볼 때는 현재의 상태에서는 본문 문자 인코딩 셋이 지정되어있는 경우에조차 제목과 이름 부분의 문자 인코딩 셋이 존재하지 않는 경우 깨지고 있습니다.

두번째, 똑같이 제목과 이름에 문자 인코딩셋이 누락되었는데도 불구하고 제대로 출력되는 경우가 있습니다. 대표적인 케이스가 링크프라이스입니다.


위의 이미지를 보시면, "링크프라이스"라는 보낸 사람 이름과 제목이 모두 정상적으로 출력됩니다. 그러나 원문을 한번 보겠습니다.


제목과 이름 부분에 문자 인코딩 셋이 지정되어있지 않습니다. 똑같은 메일인데, 누군 제대로 나오고 누군 깨져나오는 불일치가 발생하는 것입니다.

세번째, 문자 인코딩 셋이 지정되어있지 않아 글자를 깨져나오도록 한다면 제목도 똑같이 깨져나와야합니다. 그런데 Gmail은 그렇게 처리하지 않습니다. 보낸 사람 이름은 깨져나오도록 하더라도 제목은 제대로 나옵니다.


위 의 예 ①번에 든 이니시스의 메일입니다. Gmail이 문자 인코딩 셋을 지정하지 않은 문자에 대해 별도 디코딩 처리를 하지 않고 그대로 출력하겠다고 정책을 정했다면 제목도 깨져나와야합니다. 이니시스의 메일은 제목도 문자 인코딩 셋을 지정하지 않았기 때문입니다.

만약 사용자의 불편함을 덜어주기 위해서 제목은 제대로 출력하기로 했다면 일관성이 없습니다. 그렇다면 보낸 사람의 이름도 제대로 출력해줘야할 것이고, 문자 인코딩 셋을 지정하지 않는 것에 대해 별도 처리를 해주지 않기로 했다면 제목도 깨져나와야합니다. 그러나 Gmail은 그렇게 하지 않았습니다. 일관성 측면으로 본다면 국내 포털 웹메일 모두와 Hotmail(Live Mail), Yahoo! Mail은 모두 제목과 보낸이를 공평하게 대합니다. 둘다 깨지던지, 둘다 깨지지 않습니다.

물론, 제목은 메일의 본문의 일부로 보니까 제대로 나오는 것 아니냐, 라고 할 수도 있겠습니다만, 엄연히 제목을 표시하는 subject 필드는 메일의 Header에 속하는 영역입니다(RFC2822). 똑같이 헤더에 속하는 필드가 어떤 것은 처리되고 어떤 것은 처리되지 않는 것 자체가 말이 안되는 겁니다.



별거 아닌데 왜 그러냐!

이 러실 수 있습니다. 보낸 사람 이름이 깨져나와도 불편할 것 없습니다. 하지만 Gmail이 한국어 버전을 지원하고 한국 서울 지사를 설립하는 와중임에도 불구하고 언어 리소스 문제에 대해 이렇게 갈짓자(之) 행보를 그리면서 어설프게 한다면 틀림없이 일반 사용자를 공략하는 데에는 실패할 겁니다(구글 한국어 리소스의 문제는 하루 이틀 일이 아닙니다만). 인터페이스의 어려움(뭐, 메일 바닥에서는 간편하면서도 기능적인 인터페이스로 여기는 성향이 있습니다만 일반 사용자의 관점에서 말입니다)은 차치하고라도 말입니다. 쓰는 사람 입장에서 불편하다면, 그것은 별거 아닌게 아닙니다.

특히 구글이라면 말이죠.
  1. 기 술적으로 본다면 외산 메일 솔루션을 도입해서 수정 혹은 그대로 사용하면서 인코딩 문제를 전혀 고려하지 않고, '국내 메일에서 잘 보이니까'라고 넘겨버리는 게 문제의 핵심입니다(외산 메일 솔루션이 개발단계에서 다국어 지원을 고려하는 일이 거의 없고, 또 그걸 한글화해서 판매하거나, 설령 자체적으로 개발한 국내 솔루션 업체도 이 문제를 심각하게 고려하지 않습니다. 대표적인 케이스가 넷퍼시의 대량 메일 솔루션입니다. 넷퍼시의 대량 메일 솔루션을 사용하는 업체의 DM은 100이면 100, Gmail에서 보낸 사람 이름이 깨져나옵니다). 그렇기 때문에 '원칙적으로' 처리하는 메일 수신단에서 깨지면 보낸 쪽의 잘못은 생각하지도 않고 '받는 쪽이 이상하다'라고 주장하는 촌극이 벌어지는 것이지요. 메일 쪽에서는 상상외로 이런 경우가 많습니다. [본문으로]

ty's

Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.


Posted by 홍사마