質問: mysqlのclient characterset mysqlの文字コードについて、質問2点あります 環境は、windows7 ・mysqlサーバのバージョン: 5.5.8 ・mysql クライアントのバージョン: mysqlnd 5.0.7-dev - 091210 <質問1> skip-character-set-client-handshakeせずに、 mysqlのclient charactersetを、utf8にしたいのですが、 my.iniへ、 [mysql] default-character-set=utf8 [client] default-character-set=utf8 と追記しても、 statusで確認すると、 client characterset: cp932 と表示されてしまいます。 skip-character-set-client-handshakeと書かずに、 client characterset: utf8 とするには、どうすればよいでしょうか。 <質問2> client characterset: cp932のメリットについて client charactersetを、 utf8じゃなくて、cp932にするメリットとしては、 何があるのでしょうか? コマンドラインで日本語表示できることぐらいしか思いつかないのですが... そもそも、「mysqlのclient characterset」の意味がよく分かっていないので、 教えてください
回答: 質問1 my.ini でutf8指定なのに、mysqlでログインしたときにcp932となっているなら、起動時オプションが付いているか、編集しているmy.iniが別物の可能性があります。 windows vista 以降では、mysqlの本体を c:\program files にインストールしたりすると、設定ファイルをうまく変更できなかったりします。 質問2 mysql client とは、mysql/bin ディレクトリーに入ってる、mysqldump や mysqlmanager などのツール類のこと。これらを実行するときは[client]での設定を使う。 [mysql] での設定は、 コマンドラインで、mysql を起動するときの設定。 windows7 でコマンドライン表示をutf8に簡単に変更可能かどうかまでは知りませんが、vista までは、default cp932でutf8表示への変更は結構面倒なので、[mysql] でのcharacterset設定もcp932 にするのが吉。 あと、[mysqld] での設定で、server default 設定となります。