MySQL5.5.10

Apache2.2.19
php5.2.7
を,
windowsXPsp3(パッチが全部あたった最新)にインストールし、
php開発練習をしている初心者です。MySQLの文字化けについて悩んでいます。

mysql> show variables like 'cha%';で見ると、以下の通り設定されています。

| character_set_client | cp932 |
| character_set_connection | cp932 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | cp932 |
| character_set_server | utf8 |
| character_set_system | utf8 |

phpで、DB接続の後、
mysql_set_charset('utf8');
を書くと、DBの日本語内容は
mysql_query("select * from tablename");
で、表示されるのですが、毎回mysql_set_charsetは書く必要があるのか疑問に思っています。

dbをutf8で設定し、mysql_queryの結果もutf8でもらい、そのままブラウザで日本語のデータ内容を表示したいです。

character_set_results をutf8に変更すればできるのかな?と思い、いろいろ調べておりますが、よくわかりません。
my.iniには
character-set-server=utf8
を設定済です。

windows上の現在の環境でmysql_set_charset('utf8');を書かずにMySQL内の日本語データを表示できる設定方法を教えていただきたく、なにとぞよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/09/12 18:57:07
  • 終了:2011/09/17 22:05:25

回答(2件)

id:Jupiter2100 No.1

じゅぴたー回答回数444ベストアンサー獲得回数742011/09/12 19:22:36

ポイント100pt

それぞれのセクションに下記のように文字コードを設定し、MySQLを再起動してください。

[mysqld]
#character-set-server=utf8
default-character-set=utf8
skip-character-set-client-handshake

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8
id:tomoko2

この設定はMySQL5.5.10では有効ではありませんでした。

2011/09/17 21:57:58
id:you1031931 No.2

you1031931回答回数323ベストアンサー獲得回数32011/09/12 19:56:07

コピーしておくなど後で修正できるようにしたらいいと思います

id:tomoko2

ふざけた回答ですね。ポイントは配布しません。

2011/09/13 12:04:31
  • id:tomoko2
    結局
    windows terminalからsqlコマンドを打つ時はdefault-character-set=cp932とし、
    phpで操作するときはdefault-character-set=utf8と書きかえ、
    都度MySQLサービスを再起動させています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません