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