PHPとMySQLの組み合わせにおける文字化け問題

経験的に、ほとんどの問題はMySQL側にある。


試しにコンソールでmysqlに接続し、


show variables like 'char%';

として見れば、自分の望むコードなのかどうか?が分かる。


my.cnfがいじれればラッキーなので、


[mysqld]

の項目に


default-character-set = utf8

skip-character-set-client-handshake


を付け加えてMySQLを再起動。

skip-character-set-client-handshakeはクライアントからのアクセス時も、サーバ側の文字コードをセットするものらしい。

PHPからの接続もこの「クライアント」に該当するので、これを忘れると文字化けは解消されない点に注意。




コメントをどうぞ