MySQLは、4.1からutf8が使えるようになっている。 sjisはエスケープシーケンスの関係で文字化けに悩まされるので、utf8に統一したほうがすっきりする。 MySQLには、文字セットの定義がいろんなところで出てくる。
mysql> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
みたいに、全部utf8にするのがお勧め。 具体的には,/etc/my.confの[client]と[mysqld]に
default-character-set = utf8
を設定して
/etc/rc.d/init.d/mysqld restart
などとMySQLを再起動すればOK。