プロが教える店舗&オフィスのセキュリティ対策術

Mysqlでの日本語文字化け対策がうまくいかなくて困っています。
いくつもの参考ページを検索で探し、実行してみたのですが、どうにもうまくいきません。

insert into tbl values('あああ');のように、cmdに打っている時点では日本語は表示できています。
しかしselectで呼び出すと、'?f?u???'といった表記に化けてしまいます。
phpMyAdminでの表記も同様に化けます。
下記に環境と施した対策を記しますので、原因がわかる方のアドバイスをお待ちしております。

window7 64bit
Xampp1.8.0
Apache 2.4.2
MySQL 5.5.25a
PHP 5.4.4
phpMyAdmin 3.5.2

参考記事
http://blog.livedoor.jp/ryo511-web/archives/4915 …

cmd上でshow variables like "char%"でキャラクタセットを確認したところ
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_results utf8
character_set_server utf8
character_set_system utf8
と、表示上は意図したとおり、utf-8になっているようです。

A 回答 (1件)

それはcmd自体のcharsetがUTF-8ではないからです



コマンドプロンプト上に以下コマンドを打ち込んでください

UTF-8に変更する場合のコマンド
chcp 65001

デフォルトに戻す場合
chcp 932

以上おためしください

この回答への補足

アドバイスどおり、chcp65001でcmdをUTF8にしてみたところ、今度は日本語自体が打てなくなってしまいました。
alt + 半角/全角でも日本語切り替えができない状態でうす。。。

補足日時:2012/09/02 21:43
    • good
    • 0
この回答へのお礼

自己解決したのでご報告です。
結論から言うと、照合順序のデフォルト設定がlatinのままだったようです。
collation_server=utf8_general_ciをmy.iniに追記することで、テーブルを作成したときにデフォルトでutf8の照合順序になり、日本語文字化けが解消されました。
回答してくださりありがとうございました。

お礼日時:2012/09/02 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す