공통 XE에서 MySQL 연결오류 및 한글문제 해결
2013.08.28 09:02
XE4에서 MySQL 연결시 접속 오류및 한글 문제로 고생을 했는데 여러 시행착오 끝에 거의 해결 되어 정보 공유 합니다.
XE4에서 발생한 문제이나 하위버전도 비슷할 것으로 판단 됩니다.
* DBExpress MySQL 접속오류
- MySQL 최신버전은 DBExpress 에서 완벽하게 지원을 못하는듯 합니다.
XE4에서는 MySQL 5.1.71(win32) 을 설치하니 접속 됩니다. 따라서 연결 오류시 MySQL 하위버전으로 해보시기 바랍니다.
- MySQL 설치후 libmySQL.dll 파일을 찾아서 Delphi\Bin 폴더나 Windows\system32 폴더에 복사해야 합니다.
때로는 libmySQL.dll 파일만 하위버전으로 맞춰도 되는 경우가 있을수 있습니다.
* 한글깨짐 문제 해결
- 데이터베이스 스키마 생성과 테이블 컬럼 모두 character Set = utf8 / collation = utf8_unicode_ci 로 설정합니다.
인터넷검색해보면 utf8 이니 euckr 이니 여러 의견들이 많은데 utf8로 통일 시키는것이 맞는것 같네요
(euckr로 하면 조회는 되나 입력이 안됩니다.)
MySQL 사이트에서 Workbench를 다운받아 설치하면 좀더 쉽게 설정 할수 있습니다.
- 델파이 소스에서 최초 DB 접속시
SQLConnection1.Params.Append('ServerCharSet=utf8');
SQLConnection1.Connected := True;
와 같이 커넥션 속성을 추가 합니다.
- 델파이 소스 파일 포멧을 UTF-8 로 바꿉니다. (소스 에디터 바탕화면 > 마우스우클릭 > File Format )
[참고] 델파이의 Data Explorer 에서 MySQL 테이블을 View 해보면 한글이 여전히 깨져 보이나 실제 입출력과는 무관하므로 무시해도 됩니다. MySQL Workbench를 사용하면 한글이 깔끔하게 조회/입력 됩니다.
관련해서 질문은 http://cafe.naver.com/delphifmx 이곳을 이용해 주세요 ~~ ^^
댓글 3
-
관리자
2013.09.13 01:51
-
c2design
2013.09.24 22:36
위 글이 뉴스레터로 발송되어 추가적인 정보 올립니다.
MySQL 설정은 MySQL 설치 폴더에 있는 My.ini 파일 항목중 [mysql] 항목을 아래와 같이 수정한후 MySQL 서비스를 재 시작해도 반영됩니다..단 새로 생성되는 테이블부터 반영 됩니다..
[mysql]
default-character-set=utf8 -
햇살가득
2017.05.31 11:49
와..이정보덕분에, xe8 firedac mysql 접속 문제가 해결되었습니다.
몇날 몇일을 고생할뻔했네요. 반나절만에 해결!!
좋은자료 감사합니다.!!!
좋은 자료 감사합니다^^