MySQLコマンドやSQL文に関する各種メモ書き

データベースで使用する文字コードをutf8に設定する

1. MySQLの使用文字コードを確認する(mysql内で実行する)

status;
または
show variables like '%character%';

テーブル(my_table)の文字コードを確認するには

show create table my_table;

2. /etc/my.cnf に次の項目を追加

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8

3. mysqlをリスタート

/etc/init.d/mysqld restart
または
service mysqld restart

● my.cnf の設定ができない場合は

内部コードがなんであれ、mysqlはクライアント毎に文字コードを設定できる

なので mysql へ接続後

 SET NAMES utf8;

とすると文字コード UTF-8 になる。

なので、流しこむSQL文の先頭にこの1行を追加しておくだけでも良い。

参考:

http://www.mysql.gr.jp/frame/modules/bwiki/index.php?FAQ#dbf81e3d

SET NAMES と SET CHARACTER SETの違い↓

http://dev.mysql.com/doc/refman/4.1/ja/charset-connection.html

No.133
06/21 15:05

edit