강좌 & 팁
며칠전 MySql을 사용할 때 삽질했던 부분 입니다.
그때그때 발생했던 이벤트에대한 데이터를 DB에 저장하고 리스트로 확인할때에, DB에 저장까지는 했는데 데이터를 꺼내 확인 할때
에 한글이 깨지는 현상이 일어 났습니다.
이것저것 찾아본 결과를 적어 보았습니다.
먼저 MySql콘솔로 들어가서 show variables like 'c%'; 를 실행시켜보면 다음과 같이 나옵니다.(default일경우)
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적용됨)
그리고 테이블 생성할때에도 아래와같이 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툴에서도 한글 깨짐 현상이 없게하려면.....
그건 ... 다음 시간에 하도록 하겠습니다...^^;