분류

2022년 5월 2일 월요일

DA# MARIADB, MYSQL 한글 깨짐 해결

개요 

개인적으로 공모전 준비나 DAP 시험 준비를 위해 'ENCORE-DA#'을 사용 하던 중 UTF-8 인코딩 타입의 한글이 깨지는 현상이 발견되었고, 이에 관한 기술 지원을 받기 위해 문의했으나, 상당한 시일이 걸리기도 하고, 자료를 찾는데 애먹기도 해서 정리를 해 보았습니다. 

먼저 mysql 이나 mariadb의 데이터베이스와 테이블에서 모두 utf-8로 설정이 되어있는지 확인 하신 이후에도 안될 경우에 대한 이야기 입니다. 해당 부분이 설정되지 않은 분들은 타 블로거의 글을 참조 하시기 바랍니다. 

저의 경우 utf-8을 모두 맞췄으나 da#에서 한글이 깨지는 케이스에 대한 설명 입니다. 설정이 잘 되어있기에 dbeaver 나 콘솔에선 한글이 정상으로 보이지만 da#만 깨집니다. 

utf-8 설정 참조 블로그 글


1. DA#에서 필요한 MARIADB(MYSQL) DRIVER 

WINDOWS 기반의 DA#에서 MYSQL이나 MARIADB에 접속하려면 우선 ODBC 드라이버를 설치해야 합니다. 설치하지 않은 경우 다음과 같이 데이터베이스를 선택하는 항목이 비어져 있습니다. 

DA# 리버스> DB리버스 > 데이터베이스 접속 화면

1) odbc 드라이버 선택

직접 테스트를 수행해본 결과 mysql 5.3.14(32bit) 이상의 버전이 설치 되어있어야 합니다. 처음 3.x 버전을 사용했을 경우 UTF-8 인코딩으로 테이블과 데이터베이스가 모두 설정이 되어 있어도 한글이 깨지는 현상이 발생 합니다. 또한 os가 64bit 버전이어도 da#프로그램이 32bit 버전이므로 32bit버전을 받는 것을 추천합니다. 

드라이버 다운로드 버전

MYSQL DRIVER DOWNLOAD 링크  <--- 이 부분을 클릭하셔서 정식 MYSQL ODBC 드라이버를 다운로드 받습니다. 

2) 드라이버 설치 

8. 대역의 32bit 드라이버 설치는 별다른 선택이나 옵션 없이 이루어집니다. 하지만 5.x버전 드라이버는 visual studio 패치가 이루어져야 합니다. 
visual studio 2013 x86 redistributable 설치 안내
visual studio 2013 x86 다운로드 페이지


visual-studio 다운로드 사이트
2013 x86을 선택하고 다운로드 후 설치는 그냥 다음만 누르면 되므로, 드라이버와 visual studio를 모두 설치해줍니다. 

3) odbc 설정하기 

windows 시작 버튼을 누르고 odbc를 입력하면 odbc 드라이버 설정을 수행하는 화면이 등장 합니다.  DA#에서는 32bit 버전이 필요하기에 32bit 환경 설정을 수행해 주세요 
odbc 드라이버 연결 창
ODBC 드라이버 설치 시 3.x 버전에서는 한글이 깨지는 이유는 딱 봐도 알 수 있습니다. 5.x버전 드라이버에서는 ANSI와 UNICODE 형식의 드라이버를 구분해서 지원하는 반면 3.x버전 드라이버에서는 구분이 없는 것으로 보아 둘 중 하나의 형식만을 지원 합니다. 

DA#에서는 Unicode 드라이버 형식만을 지원하는 것 같습니다? 그렇다면 3.x 버전은 ansi 만 지원 하겠네요 . 테스트를 해보면 알 일입니다. 


본인의 프로젝트 정보에 맞춰 접속 정보를 입력합니다. 여기서 Data Soruce Name 이라는 부분이 있는데 이 부분은 사용자가 사용하기 위한 명칭을 정의하는 부분입니다. 실제 db와 달라도 괜찮습니다.  IP, PORT, USER, PASSWORD를 넣고 TEST를 누르면 DATABASE 목록이 조회 됩니다. 여기서 접속할 데이터베이스를 선택하고 ok를 누르시면 환경이 저장 됩니다. 

4) da#에서 테스트 


da# 모델러를 실행 후 리버스 -> db리버스 를 누르면 생성되는 팝업창에서 mysql과 접속정보를 입력해줍니다. 데이터 소스는 사전에 odbc를 등록한 목록의 명칭이 선택창으로 나타나게 됩니다. oracle 을 리버스 할 경우 테이블을 선택하는 기능이 있는데 mysql은 이상하게 해당 기능이 보이질 않습니다. 


3.x 버전 odbc설치시 한글 깨짐 상태


mariadb odbc 5.3 windows 32bit 설치시 정상


결론 

mysql odbc는 3.x 버전에서는 한글 깨짐,

5.x 이상 버전의 windows 64bit 용 드라이버는 da#에서 인식되지 않음.

5.x 버전의 windows 32bit 용 드라이버는 unicode와 ansi 모두 한글 정상 지원 

이상입니다. 읽어주셔서 감사합니다. 


댓글 없음:

댓글 쓰기