유돌이

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2019. 9. 24. 10:51 델파이

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를 사용하면 한글이 깔끔하게 조회/입력 됩니다.

posted by 유돌이