자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi FireDAC Unicode 문제?
2016.05.24 11:07
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
안녕하세요
FireDAC (Delphi 10.1 Berlin) 를 이용하여 FDQuery 로 다음과 같이 한글이 포함된 쿼리를 보내면
다음과 같은 오류가 납니다
실행한 쿼리는
SELECT '테스트' FROM DUAL
DB Oracle 이며 CharacterSet 은 다음과 같습니다
쿼리의 Select 절에 필드의 값이 한글일 경우는 문제가 없으나 위와 같이 한글을 명기하거나, Decode 문에서 옵션에 한글이 들어갈 경우 등에서는 위와 같은 오류가 납니다
또한 Insert Update 시에 변수값에 띄어쓰기가 있을 경우에도 처리가 되지 않습니다
제 느낌에는 DB가 UTF-8 이 아닌 것과 관련되어 보이는데 당췌 어디를 손봐야 할지 감이 잘 잡히지 않습니다
어떻게 해결 하면 좋을까요?
Delphi FireDAC Unicode 문제?
2016.05.24 11:07
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
안녕하세요
FireDAC (Delphi 10.1 Berlin) 를 이용하여 FDQuery 로 다음과 같이 한글이 포함된 쿼리를 보내면
다음과 같은 오류가 납니다
실행한 쿼리는
SELECT '테스트' FROM DUAL
DB Oracle 이며 CharacterSet 은 다음과 같습니다
쿼리의 Select 절에 필드의 값이 한글일 경우는 문제가 없으나 위와 같이 한글을 명기하거나, Decode 문에서 옵션에 한글이 들어갈 경우 등에서는 위와 같은 오류가 납니다
또한 Insert Update 시에 변수값에 띄어쓰기가 있을 경우에도 처리가 되지 않습니다
제 느낌에는 DB가 UTF-8 이 아닌 것과 관련되어 보이는데 당췌 어디를 손봐야 할지 감이 잘 잡히지 않습니다
어떻게 해결 하면 좋을까요?
문제가 되는 데이터셋(TFDQuery)의 필드를 다시 생성해보세요.
(해당 필드만 다시 생성해도 됩니다.)
그러면 TStringField가 TWideStringField로 생성됩니다.
그리고, CharacterSet을 UTF8로도 테스트해보시기 바랍니다.
(오라클 서버에 KO.....로 캐릭터 셋이 설정되어 있어도 간혹 UTF8로 연결하면 한글 문제가 말끔히 해결되는 경우도 있었습니다.)