画像①
show variables like 'char%'; をやると、character_set_clientがutf8です。
そこでcp932に変更します。
画像②③
set character_set_client = cp932とやり、変更されたことを確認しました。
画像④
mysqlを立ち上げ直し、show variables like 'char%'をやると、元のutf8に戻っています。
これをcp932のままにしておくにはどのようにすればよいでしょうか?
ちなみに、他のutf8の文字コードのものもsetでcp932に変更してみましたが、結果は画像②~④のような結果になってしまいます。
よろしくお願いいたします。
↑の定義内容ではMySQLに接続するClientの定義内容ではないので、No.1さんが回答されているように[client]として定義する必要があるかと思います。
以下のサイトに参考になる設定情報が記載されています。
http://goungoun.dip.jp/app/fswiki/wiki.cgi/debianetch?page=2007%2F04%2F23-01%A1%A2skip-character-set-client-handshake+%A4%CB%A4%C4%A4%A4%A4%C6
set はセッション接続中のみ有効な一時的な設定変更
恒久的な変更は my.ini というファイルを編集
(WindowsXPなのでデフォルトでは C:\windows\my.ini )
変更(もしくは書き加える)のは下記のようなもの
[client] default-char-set=cp932
ご回答ありがとうございます。
[client]
default-character-set=cp932
skip-character-set-client-handshake
とやってみましたが、無理でした・・・mysql、windowsともに再起動もしています。
サービスのmysqlのプロパティを見ると、実行ファイルのパスで --defaults-file=D:/mysql/my.iniとありましたので、my.iniのパスは間違っていないと思います。試しに行くつかの行をコメントしたらmysqlを起動できませんでした。
詳しい手順は下記を参考にしてください。
http://d.hatena.ne.jp/kk_Ataka/20111011
ご回答ありがとうございます。
basedir="D:/mysql/"、
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
と、問題なく記述されています。
↑の定義内容ではMySQLに接続するClientの定義内容ではないので、No.1さんが回答されているように[client]として定義する必要があるかと思います。
以下のサイトに参考になる設定情報が記載されています。
http://goungoun.dip.jp/app/fswiki/wiki.cgi/debianetch?page=2007%2F04%2F23-01%A1%A2skip-character-set-client-handshake+%A4%CB%A4%C4%A4%A4%A4%C6
それでもダメなら、あまりオススメしませんが、以下の設定で解決しませんか?
[mysqld]
default-character-set=cp932
skip-character-set-client-handshake
my.iniの設定ではutf8の表記はありません。全てcp932に変更しています。
教えて頂いた通りに、
[client]
default-character-set=cp932
skip-character-set-client-handshake
もやりましたが、以前下記の状態です。
character_set_client | utf8
character_set_connection | utf8
character_set_results | utf8
mysqlのインストール先は、D:\mysqlになります。
my.iniの中身は下記になります。
[client]
default-character-set=cp932
port=3306
[mysql]
default-character-set=cp932
[mysqld]
port=3306
skip-character-set-client-handshake
basedir="D:/mysql/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
#default-character-set=cp932
character-set-server=cp932
default-storage-engine=INNODB
#*** INNODB Specific options ***
innodb_data_home_dir="D:/mysql/"
-------
D:\mysql直下にmy.iniがあり、それ以外にもmy-huge.ini、my-large-.ini、my-innodb-heavy-4G.iniなどの設定ファイルと思われ式ものがありますが、どこにもutf8の表記はありません。
関係ないと思いますが、mysqlのファイルサイズは4Gくらいあります。
コマンドプロンプトの文字コードを変更した事がありませんか?
「chcp」コマンドを実行して、現在のコード番号を確認してみてください。
「Active code page: 65001」と表示された場合、utf-8に変更されています。
以下のコマンドを実行すると元に戻りますので、その後でmysqlにログインして確認してみてください。
chcp 932
http://itpro.nikkeibp.co.jp/article/Windows/20051025/223336/
http://fine.ap.teacup.com/hepo/23.html
http://www.adminweb.jp/command/display/index5.html
http://tounderlinedk.blogspot.com/2011/05/chcp-windowsbatcmd.html
Navicatのコンソールを使用する場合も、次のように設定する事でcp932に統一する事ができました。
1.接続設定の「詳細」タブで、「MySQLのキャラクターセットを使用」のチェックを外します。
2.「エンコード」で「932(ANSI/OEM - Japanese Shift-JIS)」を選択します。
※バージョンによって若干表示が異なる場合があります。(評価版10.0.8で確認済み)
※my.ini設定も必要です。
お礼遅くなりまして申しわけ有りませんでした。アドバイス通りにやりましたら問題なくcp932に変更されていました!!感謝です!ありがとうございます!
それでもダメなら、あまりオススメしませんが、以下の設定で解決しませんか?
2011/12/16 15:09:50[mysqld]
default-character-set=cp932
skip-character-set-client-handshake
my.iniの設定ではutf8の表記はありません。全てcp932に変更しています。
2011/12/16 18:41:30教えて頂いた通りに、
[client]
default-character-set=cp932
skip-character-set-client-handshake
もやりましたが、以前下記の状態です。
character_set_client | utf8
character_set_connection | utf8
character_set_results | utf8
mysqlのインストール先は、D:\mysqlになります。
my.iniの中身は下記になります。
[client]
default-character-set=cp932
port=3306
[mysql]
default-character-set=cp932
[mysqld]
port=3306
skip-character-set-client-handshake
basedir="D:/mysql/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
#default-character-set=cp932
character-set-server=cp932
default-storage-engine=INNODB
#*** INNODB Specific options ***
innodb_data_home_dir="D:/mysql/"
-------
D:\mysql直下にmy.iniがあり、それ以外にもmy-huge.ini、my-large-.ini、my-innodb-heavy-4G.iniなどの設定ファイルと思われ式ものがありますが、どこにもutf8の表記はありません。
関係ないと思いますが、mysqlのファイルサイズは4Gくらいあります。