서버셋팅 노트 - MySQL 문자셋 설정

기본 문자셋 설정

/etc/my.cnf 파일에 default-character-set 항목을 설정한다

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

UTF-8 문자셋을 사용하기 위한 JDBC Driver URL

jdbc:mysql://localhost:3306/dbname?useUnicode=true

현제 설정된 문자셋을 조회하는 쿼리

mysql>show VARIABLES LIKE 'c%';

/** 아래와 같은 정보를 얻을 수 있다
character_set_client : utf8
character_set_connection : utf8
character_set_database : utf8
character_set_results : utf8
character_set_server : utf8
character_set_system : utf8
character_sets_dir : /usr/share/mysql/charsets/
collation_connection : utf8_general_ci
collation_database : utf8_general_ci
collation_server : utf8_general_ci
**/

컬럼별 문자셋을 지정하며 테이블 생성

mysql>create TABLE test ( test_column varchar(20) collate utf8_general_ci );

필드의 문자셋 변경

mysql>alter TABLE test MODIFY test_column BINARY(100);
mysql>alter TABLE test MODIFY test_column varchar(20) collate euckr_korean_ci;

binary 타입으로 바꾸는 중간과정을 거쳐야 한다

하위버전 MySQL 데이터의 마이그레이션

http://okjsp.pe.kr/bbs?act=VIEW&seq=43402&bbs=bbs2&keyfield=subject&keyword=mysql&pg=0