며칠전 MySql을 사용할 때 삽질했던 부분 입니다.


그때그때 발생했던 이벤트에대한 데이터를 DB에 저장하고 리스트로 확인할때에, DB에 저장까지는 했는데 데이터를 꺼내 확인 할때


에 한글이 깨지는 현상이 일어 났습니다.


이것저것 찾아본 결과를 적어 보았습니다.


먼저 MySql콘솔로 들어가서 show variables like 'c%'; 를 실행시켜보면 다음과 같이 나옵니다.(default일경우)

mysql1-1.jpg


MySql의 기본설정은 latin1, latin1_swedish_ci 상태입니다.


이벤트 정보에 대한 화면표시 할때 사용 하는 캐릭터설정이 UTF-8 DB설정하고 맞질않아 한글같은 경우는 깨짐 현상이 일어났습니다.(영숫자는 문제없음.)


해결방법으론 캐릭터 설정을 UTF-8로 다 바꾸어주면 됩니다.


어떻게 다음과 같이 ......


윈도우일경우(C:\Program Files\MySQL\MySQL Server 5.1)의 my.ini파일을 열어 캐릭터 설정을 바꿉니다.

[client]

default-character-set=utf8


[mysql]

default-character-set=utf8


[mysqld]

default-character-set=utf8


위와같이 수정한후 DB를 재기동 시킵니다.(제어판-관리도구-서비스-MySQL)


재기동후 먼저MySql콘솔로 들어가서 show variables like 'c%'; 를 실행시켜보면 다음과 같이 나옵니다.(UTF-8적용됨)

mysql1-2.jpg


그리고 테이블 생성할때에도 아래와같이 CHARESET=utf8로 해주셔야 됩니다.

CREATE TABLE `testTable` (

  `no` int(11) NOT NULL AUTO_INCREMENT,

  `tem1` varchar(128) DEFAULT NULL,

  `tem2` varchar(8) DEFAULT NULL,

  PRIMARY KEY (`no`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;


전부 다 셋팅이 됐으면 한글이 제대로 나올것입니다.(화면에서....)


MySql콘솔이나 DB툴로 데이터를 확인했을때는 한글이 깨져보임.


MySql콘솔이나 DB툴에서도 한글 깨짐 현상이 없게하려면.....


그건 ... 다음 시간에 하도록 하겠습니다...^^;