MySQLのClient charactersetについて

このQ&Aのポイント
  • MySQLのClient charactersetをutf8に設定する方法を教えてください。
  • Client charactersetがcp932になっているメリットについて教えてください。
  • MySQLのClient charactersetについて詳しく教えてください。
回答を見る
  • ベストアンサー

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」の意味がよく分かっていないので、 教えてください

  • re999
  • お礼率61% (476/777)
  • MySQL
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

質問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 設定となります。

re999
質問者

お礼

回答ありがとうございました。 参考になりましたー

その他の回答 (1)

回答No.1

[my.cnf] character_set_server=utf8 collation_server=utf8_unicode_ci

re999
質問者

お礼

回答ありがとうございましたー

関連するQ&A

  • MySQLの文字コード変換

    XAMPP 1.7.1をダウンロードしてMySQL5.1.33をいじってるんですが defaultの文字コードをlatin1からutf8への変更がどうしてもできません。 \XAMPP\mysql\binにあるmy.iniに以下の記述をしました。 [client] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 ネットで調べると以上の方法で解決できるとなっていたんですが記述後、再起動してstatusをしてもServer characterset,Db characterset,Client characterset,Conn. charactersetすべてlatin1のままです。 どなたか解決できる方がいましたら是非ともご教授ねがいます。

    • ベストアンサー
    • MySQL
  • MYSQLの文字化けについて

    MYSQLの文字化けについて質問させてください。 MYSQL COMMAND LINE CLIENTでMYSQLに作ったデータベースに下記のSQL文でデータを入れると、下記のエラーが出ます。 sql 「insert into テーブル名 (id、type)values (1,'男性’);」 エラー文 incorrect string value: '入力文字が文字化けして表示’for column 'type’at row 1 文字化け対策として、調べたところ、下記のように「my.ini」に記述すると言うことでしたので、試してみました。 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set =utf8 ちなみにその他情報です。 MySQLのバージョン MySQL 5.1 MySQLで有効になっている文字コード character_set_client | utf8 character_set_connection | utf8 character_set_database | utf8 character_set_filesystem | binary character_set_results | utf8 character_set_server | utf8 character_set_system | utf8 何かお解かりになることがありましたら、宜しくお願いします。

  • my.ini 内を変更しても文字化けがなおらない

    my.ini 内の [mysql]、[mysqld]、[mysqldump] の部分を変更したのですが、文字化けが直りません。 文字化けします。 対応:my.ini 内の [mysql]、[mysqld]、[mysqldump] の部分 ↓ [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 に変更しましたが コマンドプロンプトで mysqlに接続後、statusと打ち込んで状態を確認しても Client characterset:latin1 Server characterset:latin1 となったままです。 とうすればよろしいでしょうか? 何卒よろしくお願い致します。

  • phpMyadminの文字化けについて

    PHPでINSERTしたものをphpMyadminで確認すると 日本語が文字化けしています。 コマンドプロンプトでテーブルを見てみると文字化けは起こっていません。どこを変えればいいのでしょうか? いろんなサイトを参考にmy.iniを直してみてもだめでした。 ----- my.ini ------ [mysqld] default-character-set = utf8 skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 skip-character-set-client-handshake [mysqldump] quick max_allowed_packet = 16M default-character-set = utf8 [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set = utf8 ----- phpMyadmin ----- テーブルの照合順序 utf8_general_ci mysql> \s Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 バージョンは以下のとおりです。 XAMPP 1.7.1 MySQL 5.1.33 PHP 5.2.9 phpMyadmin

    • ベストアンサー
    • MySQL
  • 日本語をinsert時に文字化け

    xamppをインストールしMySQLを使おうとしたのですが、日本語をinsertしようとすると?で格納されてしまいます。 my.iniの設定を以下のように変えてみましたがうまくいきません。 [client] # 追加 default-character-set = utf8 [mysqldump] # 追加 default-character-set=utf8 [mysqld] # 追加 skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysql] # 追加 default-character-set=utf8 STATUS;コマンドで確認すると Client characterset: utf8 Server characterset: utf8 とってなっており、SHOW VARIABLES LIKE 'char%';を実行してもcharacter_set_filesystem以外はutf8になっています。 xampp等のバージョンは以下の通りです。 xampp 1.7.2 MySQL 5.1.37 PHPからのクエリ発行、phpmyadminというツールからのクエリ発行どちらも?で格納されてしまいます。 もうどこが問題なのか見当が付きません。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • ODBC接続で全角文字が文字化け

    MySQL⇒MS-ACCESSのODBC接続で文字化けが発生してます。 ■MySQL 5.0.27 ■MyODBC 3.51.19 ■MS-ACCESS 2000 (Windows2000) ○my.cnfの設定 [mysqld] skip-character-set-client-handshake [mysqld_safe] skip-character-set-client-handshake [ODBC] default-character-set=sjis [client] default-character-set=sjis ○status Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 ▽試したこと ・Initial Statement に set names 'sjis' を設定 ・Character Set sjis、ujis、latin1 それぞれを指定 半角文字は大丈夫ですが、全角文字になると「??????????」と表示されています。 MySQL+PHPでは問題なく使えます。 解決方法分かる方アドバイスお願い致します。

    • ベストアンサー
    • MySQL
  • XAMPP1.7.1をインストールし、MySQLの文字コード設定について

    MySQLの文字コードを変更について教えてください。 my.iniファイルを開いて [mysqld] の中に ・・・ default-character-set=utf8 skip-character-set-client-handshake [mysqldump] ・・・ default-character-set=utf8 [mysql] ・・・ default-character-set=utf8 と変更したのですが、MySQLを再起動しstatusで確認したのですが、 latin1のままで変更されません。 XAMPPをアンインストールをして再度同じ設定を行ってもlatin1でした。my.iniファイルのほかに何かのファイルを変更しなくてはいけないのでしょうか? ↓のサイトを参考に設定を行っています。 http://mysqlx01.seesaa.net/です。 教えてください。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • my.iniを書き換えても文字化けが解消されません。

    MySQL5.1をWindowsVistaにインストールし、コマンドプロンプト上で実行しているのですが、日本語の文字化けが解消されません。 自分なりに調べ、下記ののように設定しましたが手詰まりになってしまいましたので、どなたか知恵を貸してください。 my.iniを以下のように変更 [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis character_set_server=sjis skip-character-set-client-handshake 起動時のステータス mysql> status; Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis mysql> show variables like "char%"; character_set_client sjis character_set_connection sjis character_set_database sjis character_set_filesystem binary character_set_results sjis character_set_server sjis character_set_system utf8 コマンドプロンプトの文字コード Shift-JIS

  • mysqlのmy.iniを設定したら起動しない

    phpからmysqlにデータをINSERTしたところ文字化けしたため、 my.iniに下記を追記しなければならないということを知り、設定しました。 [mysqld] default-character-set = utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 ところが、my.iniファイルをちょっとでも編集すると、mysqlが起動しないというトラブルが発生しています。 mysqlからmy.iniファイル自体は見に行っているようなのですが、原因が分からず困っております。 環境は、 ・Windows7 Ultimate(64bit) ・Pleiades3.6 (Eclipse3.6 Helios) です。 お詳しい方からのご教示お待ちしております。

  • さくらインターネットのMySQL の文字セット

    さくらでMySQLを使いたいのですが、文字コードをUTF-8からSJISにしたいのです。 無知識で初め、検索やログを頼りにチャレンジしたのですがいまいち設定がわかりません。 my.cnfに [mysqld] default-character-set=sjis skip-character-set-client-handshake と、書けばいい、などの情報もあったのですが、そもそも「my.cnf」がどこに存在するのかすら分かりません。どなたか教えていただけませんでしょうか。 MySQL 5.1

    • ベストアンサー
    • MySQL