ZeosLib PostgreSQL용 Unicode patch r1
알림: 업데이트된 패치가 있으니 그것을 사용하세요..

Delphi에서 PostgreSQL을 연결하는데 ZeosLib을 자주사용합니다. 그런데 이넘이 PostgreSQL에서만은 공식적으로 유니코드를 지원하지 않습니다. 그래서 여러가지 문제가 많이 발생하죠... AsString으로 가져와서 UTF8Decode을 일일이 한다든지...

그래도 이것도 문제는 있습니다. 한글의 경우 경우에 따라서는 잘리는 경우가 있죠.. 그래서 시간내서 한번 잡아보겠다고 덤벼서 결국은 몇가지 문제 잡았군요.

첨부파일에있는 패치를 적용하고 몇 가지 주의해서 사용하면됩니다.

  • 서버의 인코딩은 UTF8 이여야합니다. 다른것은 테스트해 하지 않았습니다.
    그렇지만 client_encoding을 utf8로 지정하기 때문에 인코딩에 상관없을 수 있습니다.
  • TZConnection의 Property에 다음을 설정하세요. codepage=utf8, client_encoding=utf8
  • AsString 대신 AsWideString으로 사용하세요. Parameter(TParam)도 마찬가지 입니다.
  • 아직 Varchar의 경우만 테스트했습니다. Bytea, TEXT의 경우는 될지 안될지 모르겠습니다.(다음에 시간나면 해야죠.. ^^)
가장 최근 버전인 6.6.1-beta1를 기준으로 작성했습니다. 사용하다가 오류있으면 가차없이 알려주시길~~

zeos.utf8.6.6.1-beta1.patch.r1
by Kidd™ | 2007/10/30 23:49 | 트랙백 | 핑백(2) | 덧글(6)
트랙백 주소 : http://whitekid.egloos.com/tb/1659478
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Linked at Your wish is my .. at 2007/11/02 01:23

... ZeosLib UTF8 Patch1에서 TEXT형의 처리는 하지 않는다고 언급 했었지요.. 그래서 한번 봐 볼까?. .그랬더니. .참 재밌군요.. 우선 다음 코드를 보면 function ConvertDbc ... more

Linked at Your wish is my .. at 2007/11/02 14:08

... 이전의 패치에서는 TEXT형을 고려하지 않았다고 이야기했습니다. 역시나.. TEXT가 있는 데이트를 접근하니 당연히 에러가 나오네요.. 길이가 다르다나 어쩌다나...^^; 이 T ... more

Commented by 이상원 at 2007/11/01 21:28
방금 패치해서 테스트 해봤습니다.
아 잘 되는군요.
근데 TEXT타입은 (memo)로 나오네요.
Commented by Kidd™ at 2007/11/02 01:24
이상원/ 감사합니다.~ TEXT는 아직 검토 안했습니다. 아직은 .. VARCHAR만 처리했어요.. 방금 TEXT도 VARCHAR와 동일하게 처리하면 된다는 사실을 알았으니 조만간 TEXT도 될 겁니다..
Commented by 이상원 at 2007/11/02 02:27
^^넵. 잘되는거 보니 저도 좋네요. 점점 유니코드가 대세가 되어 가는 이때 참 고마운 패치군요.

감사합니다.
Commented by 이상원 at 2007/11/02 13:40
근데요. 패치파일 적용 하는방법을 몰라서. 일일이 소스코드를 수정 했다는 ^^;;;
ㅎㅎ 사람은 모르면 몸이고생하는것 같네요.
일괄패치하는 방법도 좀 알려 주세요~~~~~~~~
Commented by Kidd™ at 2007/11/02 14:19
이상원/ 패치 자체가 몇줄 안되니 손으로 해도 될 정도죠 뭐~ 생각해보니 저도 윈도우 기반에서 PATCH 유틸리티를 써본적이 없군요. FreeBSD라면 patch < patchfile 하면 끝인데..

그리고 TEXT 타입 문제 해결한 zeos.utf8.6.6.1-beta1.patch.r2가 업데이트 되었으니 사용해보세요.. :D
Commented by Kidd™ at 2008/08/08 18:04

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >