my.cnf文字コード設定

データをutf8で取り込んだんだけど、mysqlで表示しようとすると文字化けした。
/etc/my.cnfのmysql daemonmysql clientの両方にdefault-character-set=utf8を設定すると文字化けは解消されます。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# 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=utf8

[mysqld_safe]
log-error=/var/log/mysしかしqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8

mysql clientからのアクセスはこれで文字化け解消されたのだけど、PerlDBIモジュール経由でDBにアクセスするとやはり文字化けに。そのときは、同じく/etc/my.cnfに以下の設定を追加してmysqldの再起動を行うことでこちらも解消できます。

[mysqld]
skip-character-set-client-handshake