xamppでMySQLから引っ張ってきた日本語文字列が文字化けする件
- by naoki
コンテンツの作成・動作確認を自分のWindowsXPノートにxamppを入れてやっているんだけど、データベースから持ってきた文字列が文字化けしてしまう現象に悩まされておりました。
localで動作確認するときは文字化けとかじゃなくて、sql文が間違ってないかとかレイアウトはどうだとかの確認でやってるので、別に困ってはいなかったわけですが、気持ちよく動作確認をしたかったので、ちょっと調べてみました(本番のサーバでは文字化け起こしていないから)。
$user_name = mb_convert_encoding($user_name,”UTF-8″,”SJIS”);
↑こんな風にPHPのソースに手を加えれば解決するんだけど、実際に動作しているサーバーにコンテンツを上げると文字化けは起こさない(サーバーのcharacter-setはutf8)ので、my.iniを編集することで文字化けを解消しました。
まぁ環境をサーバを合わせたってところやね。
設定方法はmy.iniに以下を追記。
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
※utf8を環境に合わせてEUCの場合は以下のように変えれば文字化けは解消されるんじゃねーかと思います。
default-character-set=ujis