1323999189 MYSQL 5.5 Windows XP版について質問です。


画像①
show variables like 'char%'; をやると、character_set_clientがutf8です。
そこでcp932に変更します。

画像②③
set character_set_client = cp932とやり、変更されたことを確認しました。

画像④
mysqlを立ち上げ直し、show variables like 'char%'をやると、元のutf8に戻っています。

これをcp932のままにしておくにはどのようにすればよいでしょうか?

ちなみに、他のutf8の文字コードのものもsetでcp932に変更してみましたが、結果は画像②~④のような結果になってしまいます。

よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/12/19 17:17:11
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:techmedia-think No.3

回答回数46ベストアンサー獲得回数13

ポイント25pt

↑の定義内容では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

他2件のコメントを見る
id:techmedia-think

それでもダメなら、あまりオススメしませんが、以下の設定で解決しませんか?
[mysqld]
default-character-set=cp932
skip-character-set-client-handshake

2011/12/16 15:09:50
id:popattack

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くらいあります。

2011/12/16 18:41:30

その他の回答3件)

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント25pt

set はセッション接続中のみ有効な一時的な設定変更

恒久的な変更は my.ini というファイルを編集
(WindowsXPなのでデフォルトでは C:\windows\my.ini )

変更(もしくは書き加える)のは下記のようなもの

[client]
default-char-set=cp932
他2件のコメントを見る
id:popattack

ご回答ありがとうございます。
[client]
default-character-set=cp932
skip-character-set-client-handshake
とやってみましたが、無理でした・・・mysql、windowsともに再起動もしています。

2011/12/16 23:06:34
id:popattack

サービスのmysqlのプロパティを見ると、実行ファイルのパスで --defaults-file=D:/mysql/my.iniとありましたので、my.iniのパスは間違っていないと思います。試しに行くつかの行をコメントしたらmysqlを起動できませんでした。

2011/12/17 00:04:03
id:kodairabase No.2

回答回数661ベストアンサー獲得回数80

ポイント25pt
  1. my.ini に basedirとdatadirは記述されていますか?
  2. いったんサービスを削除してから、サービス登録し直してみてください。

詳しい手順は下記を参考にしてください。
http://d.hatena.ne.jp/kk_Ataka/20111011

id:popattack

ご回答ありがとうございます。
basedir="D:/mysql/"、
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
と、問題なく記述されています。

2011/12/16 13:18:01
id:techmedia-think No.3

回答回数46ベストアンサー獲得回数13ここでベストアンサー

ポイント25pt

↑の定義内容では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

他2件のコメントを見る
id:techmedia-think

それでもダメなら、あまりオススメしませんが、以下の設定で解決しませんか?
[mysqld]
default-character-set=cp932
skip-character-set-client-handshake

2011/12/16 15:09:50
id:popattack

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くらいあります。

2011/12/16 18:41:30
id:rouge_2008 No.4

回答回数595ベストアンサー獲得回数351

ポイント25pt

コマンドプロンプトの文字コードを変更した事がありませんか?
「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

他3件のコメントを見る
id:rouge_2008

Navicatのコンソールを使用する場合も、次のように設定する事でcp932に統一する事ができました。

1.接続設定の「詳細」タブで、「MySQLのキャラクターセットを使用」のチェックを外します。
2.「エンコード」で「932(ANSI/OEM - Japanese Shift-JIS)」を選択します。
※バージョンによって若干表示が異なる場合があります。(評価版10.0.8で確認済み)

※my.ini設定も必要です。

2011/12/20 13:51:08
id:popattack

お礼遅くなりまして申しわけ有りませんでした。アドバイス通りにやりましたら問題なくcp932に変更されていました!!感謝です!ありがとうございます!

2012/01/12 09:03:02

コメントはまだありません

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

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

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

回答リクエストを送信したユーザーはいません