- ベストアンサー
テーブルに日本語が登録できない
xampp1.6.6をインストールし、mysqlを使ってデータベースの勉強をしているのですが、 コマンドプロントからtableにデータを登録すると日本語のみ綺麗に弾かれます。 例えば insert into test(sample1,sample2,sample3) values('test1','テスト','test3'); とすると「1 warnings」と表示され、テストのとこのみ空欄になります。 php、mysql共に文字コードをutf8にしたのですが、これが原因でしょうか? 解決方法よろしくお願いします。
- みんなの回答 (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だと思いますが、ご 参考までに。
その他の回答 (2)
- chukenkenkou
- ベストアンサー率43% (833/1926)
Windowsのコマンドプロンプトは、SJISしか対応していないからでは?
お礼
回答ありがとうございます。 >Windowsのコマンドプロンプトは、SJISしか対応していないからでは? あっ、そうなんですか。初めて知りました。 だから弾かれるわけですね。 myphpadminからだと正常に入力できたので、 コマンドプロントは諦めようと思います。
- Suzi
- ベストアンサー率38% (130/334)
コマンドプロントで、set names utf8と打ち込んでから見てみてもダメですか?
お礼
回答ありがとうございます。 >コマンドプロントで、set names utf8と打ち込んでから見てみてもダメですか? ダメでした。。。 myphpadminから操作したところ入力できたので、 コマンドプロントは諦めようと思います。
お礼
回答ありがとうございます。 「SHOW VARIABLES LIKE 'char%';」を実行したところ「character_set_filesystem」以外utf8になっていたので、 mysql側の問題ではなさそうです。 PhpMyAdminで操作したところ正常に登録できたので、 コマンドプロントは諦めようと思います。