2012-01-02

MAMPの文字化け対策

MAMPのデフォルト環境で日本語を使うと文字化けします。
なぜならば、みんなutf8になりきれていないから(latin1が混ざっている)。

状況の確認方法は、phpMyAdminのSQLクエリを実行することで確認できます。
show variables like "char%";


対策としては、my.cnfという設定ファイルをおいて、utf8に対する設定を追加する必要があります。my.cnf自体は下記のパスの順に検索して読み込みます。
/etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

デフォルトではどこにも存在しないので、デフォルトの設定ファイルが、
/Applications/MAMP/Library/support-files
に、my-xxxxx.cnfが複数あるので、好きなものをmy.cnfに変更して上記のパスのどこかにおきます。

日本語の設定を追加します。
[mysqld]
character_set_server = utf8
collation_server = utf8_general_ci
skip-character-set-client-handshake

[mysql]
default-character-set = utf8

MAMPを再起動させると以下のようになり、問題が解決します。


いい加減、デフォルトの設定はすべてutf8にしておいてほしいものだが、、、

No comments:

Post a Comment