MySQL 기본 문자셋 설정하기

mysql이 utf-8을 지원함에도 불구하고 기본 문자셋을 설정하지 않으면 latin1으로 되어 order by 구문이나 또는 문자 깨짐이 발생.

기본 문자셋을 UTF-8로 설정

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8

기본 문자셋을 sjis로 설정하기
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

default-character-set=sjis
language=/usr/share/mysql/japanese

[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=sjis

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
default-character-set=sjis

[mysql]
default-character-set=sjis

[client]
default-character-set=sjis

변경을 한후에 DB재 기동을 한다.

설정 한 후에는 기본 테이블 문자셋은 설정한 값으로 바뀐다.

단 이미 만들어진 테이블의 문자셋은 바꾸기 전의 문자셋을 가지고 있기 때문에 재 생성이 필요하다.

シェアする

  • Evernoteに保存Evernoteに保存

フォローする