자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
C++ Builder FDQuery UTF8 변환문제
2017.11.14 13:25
Google 형님께 물어봐도 답이 없어 이렇게 올리게 됩니다.
현재 MySQL을 UTF8로 설정해서 사용하고 있습니다.
FireDoc를 이용해 Connection을 하고 FDQuery를 이용하여 다음과 같이 해습니다.
UnicodeString s1 = L"select * from userdet where id=";
s1 = s1 + QuotedStr(_id) + String(L";");
Q1->Active = false;
Q1->Close();
Q1->SQL->Clear();
Q1->SQL->Add(s1);
Q1->Open();
int ret = Q1->RecordCount;
UnicodeString us;
Q1->First();
for (int i = 0; i < Q1->FieldCount; i++) {
us = Q1->Fields->Fields[i]->AsString;
//여기서 us에는 UTF8값이 들어오는데 이것을 어떻게 Unicode로 변경할 수 있나요.
//UTFDecode, UTFToUnicode를 써봐도 잘 안되네요.
} // for i
Q1->Close();
인터넷 브라우저로 접근하면 잘되는데 관리 프로그램을 만드는데 한글이 깨져 문제가 있습니다. 도와 주세요.
댓글 2
C++ Builder FDQuery UTF8 변환문제
2017.11.14 13:25
Google 형님께 물어봐도 답이 없어 이렇게 올리게 됩니다.
현재 MySQL을 UTF8로 설정해서 사용하고 있습니다.
FireDoc를 이용해 Connection을 하고 FDQuery를 이용하여 다음과 같이 해습니다.
UnicodeString s1 = L"select * from userdet where id=";
s1 = s1 + QuotedStr(_id) + String(L";");
Q1->Active = false;
Q1->Close();
Q1->SQL->Clear();
Q1->SQL->Add(s1);
Q1->Open();
int ret = Q1->RecordCount;
UnicodeString us;
Q1->First();
for (int i = 0; i < Q1->FieldCount; i++) {
us = Q1->Fields->Fields[i]->AsString;
//여기서 us에는 UTF8값이 들어오는데 이것을 어떻게 Unicode로 변경할 수 있나요.
//UTFDecode, UTFToUnicode를 써봐도 잘 안되네요.
} // for i
Q1->Close();
인터넷 브라우저로 접근하면 잘되는데 관리 프로그램을 만드는데 한글이 깨져 문제가 있습니다. 도와 주세요.
제가 리눅스 자료 만들며 리눅스에 설치된 MySQL과 FireDAC으로 연결한 내용이 있어 우선 안내드립니다.
http://tech.devgear.co.kr/index.php?mid=delphi_news&page=4&document_srl=431630
위 내용 중 MySQL 연결(FireDAC 이용) 부분을 살펴보시기 바랍니다.
만약, 위 내용으로 해결되지 않는다면, 혹시 외부에서 MySQL 접속이 가능할까요? 직접 테스트해보면 힌트를 얻을 수 있을 것 같습니다.
(가능하다면 비밀글로 접속 정보를 기록해 주시면 됩니다.)