DB 데이터 이관중 무심코 지나칠 수 있는 캐릿터셋 Mysql 은 기본 latin1 캐릿터 셋을 써서 DB 입력시나 셀렉트시 깨짐현상이 일어날 수 있으며, 오늘 확인한 결과 where 절에 한글 조건이 먹지 않는 현상을 발견했다.
해결 방법으로는 DB 재생성 할때, utf8로 셋팅하여 데이터를 입력하고, Mysql 캐릭터셋을 설정한다.
[Mysql 캐릿터셋 확인]
> mysql -u 계정명 -p(접속)
mysql> SHOW VARIABLES LIKE 'collation%';
mysql> SHOW VARIABLES LIKE 'character_set%';
[/etc/my.cnf 확인]
> vi /etc/my.cnf(esc + shift + ; : wq)
=> 아래의 내용을 붙임
============================================================================
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = set collation_connection = utf8_general_ci
init_connect = set names utf8
character-set-client-handshake=TRUE
skip-character-set-client-handshake
[client]
default-character-set = utf8
============================================================================
[DB 툴]
show variables like 'char%';
set character_set_client = utf8;
set character_set_connection = utf8;
set character_set_results = null;
[Mysql 재기동]
> service mysqld restart
===> 재기동후 Mysql 캐릭터셋 확인
'DB' 카테고리의 다른 글
[Mysql]Mysql 커넥션 설정 (0) | 2016.08.17 |
---|---|
[Oracle]문자열에 ['] (싱글쿼테이션) SELECT (0) | 2016.03.14 |
[Tibero/Oracle] update join (0) | 2015.07.02 |
[iBatis] in 구문처리 (0) | 2015.07.01 |
[Mysql] tinyint(1) (0) | 2015.06.23 |