원인을 찾아냈습니다.
의외로 단순한.. 제 실수에 가까운 문제였더군요.
근데 당장 수정하기가... ^^;;;;
제 게시판 서버에서 로그인 사용자 이름을 쿠키로 저장하는데요.
서버에서는 한글을 C++Builder 런타임에서 그걸 %헥스코드 형식으로 인코딩하여 쿠키로 저장합니다.
브라우저에서는 html 소스에서 그걸 자바스크립트로 읽은다음 unescape() 함수로 디코딩하여
화면에 출력하지요.
예전에는 이게 문제가 없었는데... 아무래도 IIS나 IE의 업데이트 과정에서 1바이트코드로 저장된
한글을 제대로 처리하지 못하도록.. 다시 말해, 유니코드 문자열만 처리하도록 된 모양입니다.
그러니까, 서버에서 한글을 1바이트코드로 전송하는데 브라우저에서는 1바이트코드를 한글로 인식을
못하는 거지요.
결과적으로, 서버에서 사용자이름을 1바이트가 아닌 2바이트 유니코드 스트링으로 보내면 되는데..
문제는 요즘 제가 짬짬이 게시판을 뜯어고치는 중이라서 (100k, 1메가 단위의 글 내용을 빠르게
출력하기 위한 업데이트랍니다) 당장 서버 모듈을 업데이트할 수가 없다는거지요. T.T
그런고로.. 사용자이름 문제를 바로 표시하기 위해서는 시간이 좀 걸릴 듯 합니다.
게시판 모듈 업데이트가 되는대로 함께 업데이트하겠습니다.
(짬짬이 하는 대보수 작업이라서 언제 완료될지 장담은 못하는 상태... --;;)
어쨌든... 제 잘못이 아닌 부분도 있긴 하지만.. 처음부터 서버에서 유니코드로 처리했으면
발생하지 않았을 문제이기도 하니까... 에궁~
그럼...
|