MySQL文字コード関連

■現在の文字コードの設定を調べる

mysql> show variables like ‘character_set%’;

または、

mysql> status

■データベースの文字コード設定を調べる

データベースごとに文字コードを設定できるので、現在の文字コードを調べる。

(テーブルごとではなく、データベースごと)

mysql> show create database データベース名;

文字コードを指定してデータベースを作るには、

mysql> create databaase xxxdb default character set utf8;

■テーブルの文字コード設定を調べる

テーブルごとに文字コードを設定できるので、現在の文字コードを調べる。

mysql> show create table テーブル名

■文字コードを設定する

/etc/my.cnf を編集する。

[client]
default-character-set=utf8

[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

[client]と[mysqld]の設定に、上記の記述を加える。

utf8: UTF-8を指定するとき。
sjis: Shift JIS を指定するとき。
ujis: EUC JP を指定するとき。

skip-character-set-client-handshakeの指定は、MySQLが勝手に内部変換しないようにするため。

■/etc/my.cnfが無いとき

インストールしたMySQLの中のサンプルをコピーする。
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

再起動して有効になる。