자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi Delphi XE5, XE6 에서의 한글 문제 (TFDConnection, TFDQuery)
2014.06.08 03:25
공식 샘플 코드로 한글 테스트를 해봤습니다
XE5 : C:\Users\Public\Documents\RAD Studio\12.0\Samples\Delphi\Database\FireDAC\Samples\Comp Layer\TFDLocalSQL\InMemDB
XE6 : C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\Database\FireDAC\Samples\Comp Layer\TFDLocalSQL\InMemDB
샘플 코드를 실행하고 'MemTab1' 에서 아무 필드나 Name 을 한글로 수정한 후 'Query' 탭으로 이동해보면
한글이 깨진걸 확인할수 있습니다.
TFDConnection 이나 TFDQuery 에서 한글 처리에 문제가 있는것인지 간단하게 프로퍼테 셋팅 만으로
해결할 수 있는 문제인가 알고 싶습니다.
댓글 2
-
Humphery
2014.06.16 19:33
한글은 ftString을 ftWideString으로 설정하면 정상 처리됩니다.향후 유니코드를 지원하는 문자열의 테이블 필드는 FireDAC에서 사용하실 경우 WideString으로 사용하시면 문제되지 않습니다.(FireDAC에서 자동으로 생성되는 필드 및 파라메터도 DBMS에서 유니코드 사용할 경우 WideString으로 자동으로 적용됩니다.)
with Brands do begin with FieldDefs do begin Clear; Add('Code', ftInteger); Add('Name', ftWideString, 20); end; Active := True;
-
shocks
2014.06.17 03:28
답변 감사합니다.
버그가 아니라 필드 타입 설정을 잘 해줘야 하는 것이군요.
Delphi Delphi XE5, XE6 에서의 한글 문제 (TFDConnection, TFDQuery)
2014.06.08 03:25
공식 샘플 코드로 한글 테스트를 해봤습니다
XE5 : C:\Users\Public\Documents\RAD Studio\12.0\Samples\Delphi\Database\FireDAC\Samples\Comp Layer\TFDLocalSQL\InMemDB
XE6 : C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\Database\FireDAC\Samples\Comp Layer\TFDLocalSQL\InMemDB
샘플 코드를 실행하고 'MemTab1' 에서 아무 필드나 Name 을 한글로 수정한 후 'Query' 탭으로 이동해보면
한글이 깨진걸 확인할수 있습니다.
TFDConnection 이나 TFDQuery 에서 한글 처리에 문제가 있는것인지 간단하게 프로퍼테 셋팅 만으로
해결할 수 있는 문제인가 알고 싶습니다.
댓글 2
-
Humphery
2014.06.16 19:33
한글은 ftString을 ftWideString으로 설정하면 정상 처리됩니다.향후 유니코드를 지원하는 문자열의 테이블 필드는 FireDAC에서 사용하실 경우 WideString으로 사용하시면 문제되지 않습니다.(FireDAC에서 자동으로 생성되는 필드 및 파라메터도 DBMS에서 유니코드 사용할 경우 WideString으로 자동으로 적용됩니다.)with Brands do beginwith FieldDefs do beginClear;Add('Code', ftInteger);Add('Name', ftWideString, 20);end;Active := True; -
shocks
2014.06.17 03:28
답변 감사합니다.
버그가 아니라 필드 타입 설정을 잘 해줘야 하는 것이군요.