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 프로그램에서 한글이 깨진다. 왜 그럴까. 이런 젠장..
'SQL > MYSQL' 카테고리의 다른 글
MS-SQL BULK INSERT시 데이터 형식 (0) | 2014.06.11 |
---|---|
[MS-SQL 2008 PROCEDURE] 컬럼명을 조회하여 쿼리문을 만들고 실행하기 (0) | 2014.06.11 |
[MS-SQL 2008 PROCEDURE] 임시 테이블에 값을 저장하여 UPDATE후 임시 테이블 내용을 조회하여 RETURN (0) | 2014.06.11 |
[MS-SQL CURSOR를 사용한 쿼리문의 생성 실행 (0) | 2014.06.11 |
[MS-SQL] 테이블별 ROW COUNT를 SYSTEM 테이블에서 가져오기 (0) | 2014.06.11 |
MS-SQL 페이징 쿼리문 (0) | 2014.06.11 |
MS- SQL 테입블 목록 조회, 테이블별 컬럼 조회하기 (0) | 2014.06.11 |
[Ms-sql]오라클에 있는 dual 테이블과 비슷한 기능을 하는것 (0) | 2014.02.13 |