RoundCube Webmail 한글 깨짐 수정
글쓴이: 김정균 / 작성시간: 금, 2008/04/04 - 6:38오전
MUA 글을 읽다 보니 RoundCube 를 사용하시는 분들이 종종 있더군요. 저도 얼마전에 0.10statble 을 설치해 보았습니다만.. stable 하지는 않은것 같이 버그가 숭숭 보이네요. 그래도 메일 원문 보기와 헤더 보기만 있으면 괜찮겠다 싶어서 설치를 해 놓고 좀 살펴 보고 있었는데.. 이게 어떤 메일은 한글이 잘 보이고, 어떤 메일은 잘 안보이는 문제가 있더군요. 그래서 살펴 보니, 다른 imapd 는 모르겠는데, wu-imapd 의 경우 roundcube 가 메일 정보를 imapd 에서 얻을 때 charset 이 메일에 지정이 되어 있지 않으면 US-ASCII 로 주는 문제가 있더군요. 그래서 US-ASCII 에서 UTF-8로 변환을 하면서 한글이 깨지게 됩니다.
이 문제를 해결하기 위해 삽질을 좀 해 보았고.. http://my.oops.org/120 에서 결과물을 보실 수 있습니다.
위 패치의 요는.. main.inc.php 에서 default charset 을 지정해 놓고, 메일에 charset 이 지정되지 않았을 경우, 이 default charset 을 사용하도록 하는 것입니다.
댓글
http://trac.roundcube.net/tic
http://trac.roundcube.net/ticket/1484961 에 패치를 올렸는데.. 반응이 영 시원찮습니다. 상태를 later 로 바꾸어 버렸군요. 자기네들은 그런일 별로 없다는 투인것 같은데요.. (받아들이기 나름이지만.. 쩝.. 전 그런 인상을 받았습니다.)
roundcube 사용하시는 분들이라면 위의 패치를 올린 페이지에 가서 이 패치를 좀 적용해 달라고 압박해 주세요. 안그러면 우리는 계속 패치해서 사용해야 합니다. 아니면.. imap package 를 사용하지 말든지.. (dovcoat 같은 다른 imap 서버를 사용하든지..)
아마 0.1.1 버전
later로 바꾼 건 아마 0.1.1 버전 릴리즈하기 직전이라 그런 것 아닐까요?
4월 5일자로 새 버전이 릴리즈되어 있던데요.
어찌 됐건, 빨리 반영이 됐으면 좋겠습니다.
p.s. UW Imapd 만의 문제는 아니고... 제가 쓰는 cyrus imapd도 마찬가지인 걸로 보면 Imapd 에 상관없는 듯 합니다.
--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
0.1.1 용으로 패치를
0.1.1 용으로 패치를 다시 만들었습니다.
Multi Part 가 아니고 charset 을 가지고 있지 않을때, default charset 을 사용하지 않던 문제를 같이 수정했습니다. http://my.oops.org/120 에서 0.1.1 용을 받으시면 됩니다.
한글 파일 첨부 문제를 제기하시든데, 이번 패치에서는 일단 제 서버에서는 정상 작동 하는 것을 확인했습니다.
감사합니다. 잘
감사합니다. 잘 쓰겠습니다.
항상 좋은 일만 함께 하시길.
--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
몇몇 분들이 요청을
몇몇 분들이 요청을 하셔서, 첨부파일 한글 문제 패치를 올립니다. http://my.oops.org/120 에서 0.1.1용 패치 중 roundcubemail-0.1.1-multibyte-attach.patch를 적용하시면 됩니다.
만든 소감으로는 roundcubemail 개발자의 I18N에 대한 개념이 안드로메다에 가 있다는 생각이 들더군요. 어쩌면 안드로메다가 아니라, 아직 생성이 안되었을지도 모른다는 생각도 듭니다. 덕분에 KSC5601 이라는 pear package (ftp://mirror.oops.org/pub/oops/php/pear/KSC5601/) 를 만들게 되었고, 나름 pure php code 로 charset 변환하는데는 나름 성능이 괜찮게 나오게끔 만든 것 같네욤.
KSC5601 pear package 선전을 좀 하자면..
KSC5601 <-> Unicode (UCS4/NCR) <-> UTF8
지원을 합니다. KSC5601<->UTF8 간의 변환시에는 iconv 나 mbstring 이 설치되어 있으면, 이 확장들을 이용하고, 설치되어 있지 않으면 pure php code 로 변환을 합니다. 상대방이 iconv 나 mbstring 이 설치되어 있는지 여부를 확인하기 귀찮을 경우 괜찮게 사용할 수 있을 듯 싶습니다.
그리고, KSX1001 (EUC-KR 확장 부분 .. 똠똡 이런거..) 명칭이 정확하게 머라해야 할지 모르겠네요. 머 하여튼 MS CP949에서 지원하는 한글 확장 영역의 경우, NCR code 로 처리를 자동으로 하도록 되어 있습니다.
code table 이 400K나 되는지라, 왠만하면 eAccelerator 같은 cache 를 사용하시거나 또는 auto_prepend_file 파일에 table file 을 등록하시는 것이 아마 심적으로 이로우실 겁니다.
댓글 달기