문자셋 설정(utf8) MySQL/MariaDB

목표 환경은 DB를 utf8로 설정하는것임
기본적으로 table 속성은 DataBase 설정을 따라가는데
입력 데이터가 깨지면 아래 3번의 조치를 취한다. (AIX이런 경우를 봤다.)

0. 데이터를 콘솔에서 밀어넣을때는 콘솔 환경이 utf8이어야 함

# export LC_ALL=KO_KR.UTF-8
# export LANG=KO_KR.UTF-8


1. MySQL 접속 시 status명령으로 문자셋 확인
   utf8이 아닐 때 설정하는 방식임

mysql> status;
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8

2. my.cnf 환경설정
[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
init_connect=set collation_connection=utf8_general_ci
init_connect=set names utf8
skip-character-set-client-handshake
character_set_client=utf8
character-set-server=utf8
collation-server=utf8_general_ci

# 10초 이상 걸리면 해당 쿼리를 로그에 남김
log-slow-queries = log-slow-queries.log
long_query_time = 10
[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8

3. table 생성시 DEFAULT CHARSET설정

CREATE TABLE `TABLE_NAME` (
  `seq_user` int(10) unsigned NOT NULL auto_increment,
  `userid` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`seq_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

덧글

댓글 입력 영역