MySQLにmy.cnfはありません。あるのはmy.ini だけ!!
XAMPP 1.7.3 において、MySQLに入れたデータが文字化けします。
php側の設定はもちろんのこと、phpMyadminで
作ったデータベースもテーブルも utf8_general_ci に
なっているにもかかわらず、日本語が化けてしまいます。
色々調べたのですが、my.cnf という設定ファイルへ
文字コード追加の記事ばかりが目に付きました。
しかし2010年現在のXAMPPのバージョンは1.7.3です。
MySQL クライアントのバージョン: 5.1.41
my.cnfファイルは見つかりません。あるのは my.iniファイルだけ。
でも間違いなくこれが iniファイル、つまり設定ファイルです。
そこで見つけたのがこのエントリー。
おかげで今までどうしても文字化けしていたのが直りました。
本当に感謝です!
my.iniファイルの確認と修正
詳しくは こちら を見ていただくとして、私は必要事項だけ。
1.C:\xampp\mysql\bin\my.ini ファイルを開く。
2.
[mysqld] <— ここのセクションを探して、以下2行を追加。
default-character-set = utf8
skip-character-set-client-handshake <--実はこの一行が無くて文字化けが解消していませんでした。このページにてこの一行がわかり、全て解決しました。
3.
[mysqldump] <--このセクションに以下の一行を追加
default-character-set=utf8
4.
[mysql] <--このセクションに以下の1行を追加。
default-character-set=utf8
5.MySQLを再起動
私の場合、my.cngの記事も参考にしていたのですが、
「skip-character-set-client-handshake」 という一行が無かったために
文字化けが直りませんでした。 この一行は先のページによると、
サーバ側のデフォルト文字コードをUTF-8に設定し、
「skip-character-set-client-handshake」によってクライアント側の文字コードが
設定されていない場合にサーバ側の文字コードに自動的に設定してくれます。
だそうです。 いつも思うのですが、この方はどうしてこのようなことが
お分かりになるのでしょうね。本当にそこが不思議でなりません。
なんにしても、文字化けのために1日費やすコトだってあります。
私はこの記事のおかげで文字化けに悩んだのはわずか?2時間くらいでした。
これでがんがんデータを入れられます。
ありがとう!!