안녕하세요?
한 2년동안 델파이를 안하다가 제목처럼 유니코드 문제로 질문을 올립니다.
현재 환경은
- OS : Windows XP
- 델파이버전 : 7
- 주요 상용 컴포넌트 :TMS, Raize, zeos, 기타 free 컴포넌트(소스포함) 등
- 제품이 설치되는 OS : 다양(98,2000,xp,vista)
- 3티어 환경
- DB : oracle, mysql
- 기타 : 다국어지원(영문,일문,중문) --> .ini파일에 각국 언어파일이 있어서 환경파일에 언어지정하여 사용중.
등입니다.
위 환경과 같이 다국어지원을 위해서 환경파일에 언어를 지정하여 국문포함하여 4개국 언어를 지원합니다.
그러나, 하나의 UI에서 2개 이상의 언어를 지원하지 못하는 관계로 유니코드를 지원하려고 합니다.
(중문OS에서는 중문은 잘 표현되지만, 국문및 일문은 글자가 깨지는 상황임.)
현 상황에서 최소한의 투자로 유니코드 지원을 하려고 합니다.
주요 상용 컴포넌트들을 살펴보니 유니코드에 대한 언급이 없더군요.(있는데 못찾은건지...^^)
궁금한 사항은
기존에 사용하던 컴포넌트들을 유지하면서 유니코드를 지원하려면 어찌해야 할까요?
- 사용중인 상용 컴포넌트의 유니코드 지원 컴포넌트로 대체?
--> TMS는 유니코드 컴포넌트가 있는듯 하나, Raize는 없는 것 같음.
- 현재 사용중인 컴포넌트를 그대로 두고, ansi string <--> 유니코드 전환 함수를 이용?
--> 조회 속도 문제가 있지 않을까?
- 델파이 최신버전에서는 유니코드 문제가 해결될까?
--> 델파이7과 최신버전의 소스호환성 문제가 없을까?
- 기존 소스에서 문제없이 처리되던 것 중에서 신경써야 할 부분이 무엇인지?
--> pos, copy함수처럼 문자열 함수 사용할 경우 문제가 없는지?
현재까지 궁금한 사항은 이정도입니다.
또 다른 신경써야할 부분은 무엇이며, 그에 대한 방안은 무엇이 있을지...
유니코드 문제를 경험하신 또는 알고 계신분들의 의견을 듣고 싶습니다.
기존 컴포넌트를 교체하지 않으시면 거의 불가능하지 않을까 합니다.
제가 3년전에 이미 비슷한 일을 했었는데요, 인사정보와 같은 곳에서 중국인 이름과 한국인 이름을 같이 표기하지 못하는 문제에 봉착하더군요...
저의 경우 눈물을 머금고 .NET으로 전환을 했습니다.
유니코드를 지원하는 VCL을 사용해봤지만, UI적 측면에서 기존에 잘 쓰던 컴포넌트를 따라가지 못하는 문제가 있고.. 아뭏튼 힘들었던 기억이 납니다.