• ベストアンサー

テーブルに日本語が登録できない

xampp1.6.6をインストールし、mysqlを使ってデータベースの勉強をしているのですが、 コマンドプロントからtableにデータを登録すると日本語のみ綺麗に弾かれます。 例えば insert into test(sample1,sample2,sample3) values('test1','テスト','test3'); とすると「1 warnings」と表示され、テストのとこのみ空欄になります。 php、mysql共に文字コードをutf8にしたのですが、これが原因でしょうか? 解決方法よろしくお願いします。

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

  • ベストアンサー
  • S-Kakashi
  • ベストアンサー率100% (8/8)
回答No.3

まず、Ano.2さんのおっしゃられるとおりWindowsのコマ ンドプロンプトは「SJIS」しか対応していません。 1.Mysqlにログイン 2.データベース選択 3.「SHOW VARIABLES LIKE 'char%';」コマンドを入力  ※ここで「character_set_filesystem」以外「UTF8」   出ない場合、設定不足が考えられます。   ・character_set_databaseがlatin1などのばあい・・・    =>UTF8環境でデータベースを作成していますか? 4.「set names cp932;」を入力 5.「Insert into~」を実行 ※上記環境はMySQL5.0.45上で確認しました。 ※但し、MySQL5.x系とWindowsのコマンドプロンプトはあ  まり整合性が取れていないらしく、PHPやPhpMyAdmin等  で確認すると正常に格納されているデータでも、コマン  ドプロンプト上では表示がおかしくなるケースがあり  ます。  私の場合、5.0.51環境では日本語が「半角記号、カナ」  等に文字化け、5.0.45では、ファイルからアップロード  した場合、日本語部分を表示させたりすると他部分の表  示が欠損する場合がありました。  XAMPP1.6.6ですと、MySQLは5.0.51だと思いますが、ご  参考までに。

参考URL:
http://oshiete1.goo.ne.jp/qa3786052.html
hetare560
質問者

お礼

回答ありがとうございます。 「SHOW VARIABLES LIKE 'char%';」を実行したところ「character_set_filesystem」以外utf8になっていたので、 mysql側の問題ではなさそうです。 PhpMyAdminで操作したところ正常に登録できたので、 コマンドプロントは諦めようと思います。

その他の回答 (2)

回答No.2

Windowsのコマンドプロンプトは、SJISしか対応していないからでは?

hetare560
質問者

お礼

回答ありがとうございます。 >Windowsのコマンドプロンプトは、SJISしか対応していないからでは? あっ、そうなんですか。初めて知りました。 だから弾かれるわけですね。 myphpadminからだと正常に入力できたので、 コマンドプロントは諦めようと思います。

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.1

コマンドプロントで、set names utf8と打ち込んでから見てみてもダメですか?

hetare560
質問者

お礼

回答ありがとうございます。 >コマンドプロントで、set names utf8と打ち込んでから見てみてもダメですか? ダメでした。。。 myphpadminから操作したところ入力できたので、 コマンドプロントは諦めようと思います。