Mysqlの文字化けを防ぐ
以前、開発用じゃなく勉強用に適当にテーブルを作ったら ????? という感じで文字化けされてしまいました。
ということで、実際に文字コードを調べてみると
mysql> status -------------- mysql Ver 14.14 Distrib 5.5.15, for osx10.6 (i386) using readline 5.1 Connection id: 9 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.15-log MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /tmp/mysql.sock Uptime: 21 sec Threads: 1 Questions: 14 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.666 --------------
こんな感じで、ところどころlatin1になってたので、文字コードの設定をutf8に変えました。
ちなみに文字コードを調べる方法はこれでもいけます↓
mysql> show variables like 'character_set%';
文字コードの設定方法
/etc/my.cnfに以下の記述を加える。
[client]
default-character-set = utf8[mysqld]
character-set-server=utf8
あとは再起動すればいいみたい。
停止
$ sudo /usr/local/mysql/support-files/mysql.server stop
起動
$ sudo /usr/local/mysql/support-files/mysql.server start
参考
http://ext.omo3.com/linux/mysql_character_set.html
http://blog.srengine.com/2008/03/mysql-utf-8.html
http://masutaka.net/chalow/2009-10-10-2.html