제가 아는 한도에서....제생각을 말씀드리면...
유닉스에서 한글을 입력하실때 쓰셨던 문자셋그대로
DS에서 가져온 문자를 다시 인코딩 하심 됩니다.
DS는 입력 받은 문자셋을 그대로 저장 포맷인 UTF8로 저장하고
이를 돌려줄 때는 역시 그렇게 하지요..
그 이상의 일은 하지 않습니다.
돌려받는 하단 라이브러리가 이를 어찌 처리하느냐에따라
제대로 보여지고 않보여지기도 하므로 DS가 무신일을 하는게 아닌가
착각 하기 쉬운데요...DS는 그 이상의 일을 하지 않습니다.
특히 윈도우에서 ADSI같은 것을 사용하였다면, 입력을 UNICODE로하고
출력결과를 하단의 ADSI가 받아서 다시 UNICODE로 돌려주므로
사용자는 별 불편함이 없이 사용할 수 있죠....
하지만 UNIX나 LINUX에서 UNICODE가 아닌 문자셋으로(KSC5601)같은 것으로
한글을 입력하고 윈도우 환경의 클라이언트(unicode를 사용하는)에서 이를 꺼내게되면
DS자체는 원래의 문자셋을 돌려주나 꺼내는 쪽이 이 문자셋을 이해하지
못하고 자신이 처리하던 방식대로(이를테면 unicode)로 인코딩해서
표현 하게 되므로 한글이 깨져서 보이게 되지요...
따라서, UNIX에서 KSC5601, 혹은 EUC_KR등의 문자셋으로 한글을 입력하셨다면
클라이언트에서는 돌려받은 결과 값을 같은 방식으로 변환해서
보여주기만 하면 됩니다.
물론 클라이언트에서 검색을 하실때, 검색이 안되는 경우가 있는데요...이 역시
다른 문자셋인경우이죠...한글 입력은 KSC5601로 하시고, 클라이언트 환경에서는
unicode로 검색식을 주시면 같은 한글이지만 코드자체는 다르죠...UTF8로 변환
된 코드도 서로 달라서 비교가 안되는 겁니다. 이때는 검색식에 들어갈 한글자체를
입력된 문자셋과 같은 것으로 변환하셔서 넣으면 됩니다.
자바환경의 클라이언트를 생각하시고 계신다면...UNIX쪽의 입력을 UNICODE로
통일 하시는 것이 좋을것 같군요.....그렇다면 클라이언트에서는
입력된 데이타의 변환이 필요 없을테니까요...
이상은 제가 생각한 바 입니다.
마지막으로 위에 말씀하신 ldif파일을 UNICODE형태로 변환뒤 테스트 해보십시요...
윈도우(winn2000에서만 됨)에서 메모장을 여시고 ldif를 작성하신후 저장하실때 인코딩 타입을
지정하실 수 있습니다.(아니면 UEDIT같은 툴을 이용하셔도 됩니다.)
도움이 되길 바랍니다..
수고하세요....
|