728x90
반응형

출처 How to Programming... | 뮤지션
원문 http://blog.naver.com/leiphie/18152660

MySQL초짜라서 환경설정에 매우 어려움이 많다. MySQL에서 한글 자료를 가져오기 위해서  그냥 MySQL 설치시에 default-character-set을 multi-language 어쩌구저쩌구 지원해준다고 설명 되어 있길래, utf8로 설정하고 별다른 추가작없을 해주지 않은 상태로, JSP페이지에서 인코딩방식을 euc-kr로 변환해서 보여주는 방식으로 한글처리를 했었다.

이렇게 하면 MySQL을 이용하는 MFC 프로그램에서도 한글이 아무 문제없이 보여졌다.

그런데 정작 MySQL커맨드 상에서 데이터를 검색하거나, Query Browser에서는 한글이 깨져서 보였다.

그러나 가장 심각한 문제는 따로 있었다. zip코드를 파일을 이용해서 DB에 입력하니, 주소와 같은 한글 데이터들이 ' ' 와 같이 모두 빈 문자열로 입력되는 기현상이 발생하였다. 커맨드명령으로 직접 한글을 타이핑해서 입력해 주면 아무 문제가 없었다. 아마 인코딩 방식이 서로간에 맞지 않아서 그런 것 같았다.

 

그래서 하루종일 시름한 끝에 JSP 페이지에서 인코딩 변환과정없이 깔끔하게 한글처리를 할 수 있는 방법을 발견하였다. 일단은 my.ini 파일에서 [client] 와 [mysqld] 부분 모두 default-character-set을 euckr로 바꾸어주고, MySQL 커맨드 입력창에서...

 

mysql>set character_set_client = euckr;
mysql>set character_set_results = euckr;
mysql>set character_set_connection = euckr;
mysql>set character_set_database = euckr;
mysql>set names euckr;

 

이렇게 모든 character set을 전부 euckr로 바꾸어서 통일시켜준 다음에 작업을 하였다.

이렇게 해 주니깐, zip코드가 DB에 한글데이터와 함께 모두 입력 되었다.

또한 MySQL커맨드 상에서 데이터를 검색하거나, Query Browser에서도 한글이 제대로 출력되었다. 그리고 커맨드상의 메시지도 한글로 출력 되었다. 가장 좋은 이점은 JSP페이지에서 euc-kr로 인코딩방식을 변경할 필요 없이 한글 출력이 된다는 것이다.(이 때에는 이전에 euc-kr로 변환하는 메서드를 적용시키면 오히려 글짜가 깨지게 되므로 주의하자). 그리고 일반 Java 프로그램을 만들어도 한글데이터를 제대로 가져올 수 있다.

 

그런데 문제가 생겼다.

MFC 프로그램에서 한글이 깨진다. 왜 그럴까. 이런 젠장..

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,