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재 기동을 한다.
설정 한 후에는 기본 테이블 문자셋은 설정한 값으로 바뀐다.
단 이미 만들어진 테이블의 문자셋은 바꾸기 전의 문자셋을 가지고 있기 때문에 재 생성이 필요하다.