• ベストアンサー
  • 困ってます

mysqlコマンドだけ文字化け

WinXPでxampp1.6.6aを使っています。 文字コードはutf8で設定したく説明しているサイトを探しmy.cnfを 下記のように修正および追加しました。 [client] 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 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 phpadminから確認すると日本語も文字化けせずに表示されるのですが なぜかコマンドから確認すると日本語が文字化けしてしまいます。 おなじような質問がありなんとかできるものかと思い確認したのですが 特に設定が間違っているようではなく解決策がみつかりません・・・ 文字化けせずに表示させるためにはどうすればいのでしょうか? show variables like 'char%'の結果は下記の通りです。 +--------------------------+----------------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------------+ | 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 | | character_sets_dir | C:\Program Files\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------------+

noname#65793

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数959
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.4

特におかしいところは見当たりませんね。 同じようにDB、テーブルを作成し、phpMyAdminからデータを入れてみましたが、プロンプトから同様の手順で特に文字化けは見られませんでした。 となると、実データが無いのでこれ以上は解決策を見つけるのが難しいかなと思います。ですので、解決の参考になればと思うことを記載します。 ・テーブルの中の実際に入っている値の文字コードがutr8か確認してみる。 select hex(CULUM_NAME) from car_table; ※文字コードがutf8か確認 ・テーブルの中身をダンプして、エディタで確認し文字コードを調べる。 ・コマンドプロンプトからDB、テーブルの作成でデータを入れて、phpMyAdminで見てみる。 他にもいろいろな方法があると思います。 力になれなくてすみません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

原因がわからなかったので一度アンインストールし最新版の 1.6.7が出ていたのでそちらを入れて同じ設定をして試したところ コマンドプロンプトでSET NAMES SJIS;を入れてやると日本語も 正常に表示されることが確認できました! (SET NAMES SJIS;をいれないと文字化けしてます) 理由がわからないまま解決?してしまい複雑な感じですがおかげ様で なんとか解決することができました。 以前にも原因がわからないトラブルがありその際も一度 アンインストールすることにより解決したので原因こそ謎なものの なにかあるのでしょうね・・・w

質問者からの補足

何度も本当にありがとうございます。 訳もわからず悩んでいたので本当に感謝です! phpmyadminでデータベースを作成後(照合順序はutf8_unicode_ci) 以下のsqlファイル(utf8で保存)をインポートしております。 CREATE TABLE car_table ( id int NOT NULL auto_increment, maker varchar(10), country varchar(10), type varchar(10), color varchar(10), comment varchar(100), PRIMARY KEY (id) ); INSERT INTO car_table (maker, country, type, color, comment) VALUES('ベンツ', 'ドイツ', '4ドア', '黒', '新車同様'); INSERT INTO car_table (maker, country, type, color, comment) VALUES('ビーエム', 'ドイツ', '4ドア', '白', '車検切れ'); INSERT INTO car_table (maker, country, type, color, comment) VALUES('トヨタ', '日本', '4ドア', '赤', '新車'); INSERT INTO car_table (maker, country, type, color, comment) VALUES('日産', '日本', '4ドア', '白', '良好'); INSERT INTO car_table (maker, country, type, color, comment) VALUES('三菱', '日本', '2ドア', '黒', 'スタッドレス付き'); INSERT INTO car_table (maker, country, type, color, comment) VALUES('ホンダ', '日本', 'バイク', '赤', '新車同様'); INSERT INTO car_table (maker, country, type, color, comment) VALUES('ジャガー', 'イギリス', '4ドア', '白', '良好'); 試しに文字コードを確認する方法試してみました。 mysql> select hex(color) from car_table; +------------+ | hex(color) | +------------+ | E9BB92 | | E799BD | | E8B5A4 | | E799BD | | E9BB92 | | E8B5A4 | | E799BD | +------------+ 7 rows in set (0.00 sec) こんな感じで表示されたのですがなにかわかりますでしょうか?

関連するQ&A

  • xampp の mysql 文字化け

    xampp 1.7.3 with mysql 5.1.41です。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 [client] セクションと [mysql] セクションと [mysqldump] セクションに追加 default-character-set = utf8 これでコマンドラインからテーブルのデータを select すると日本語が文字化けするのです。 サイトを検索すると、上記設定で文字化けが解決するという記事は見つかるのですが・・・・・・。 何が不調の原因でしょうか? 解決策お分かりの方がおられたら、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • xampp mysql5.0.51の文字化けについて

    mysqlの日本語文字が文字化けし、いろいろ試みてみましたが解決せず 途方に暮れております。 まだ勉強しはじめの超初心者でしてあれこれネットなどで調べて 2週間になりますが解決せず困っています。 どなたか解決方法をご存知でしたらぜひご教授ください。 環境は以下のとおりとなっております。 ・ローカルpc→windowsXP ・xampp1.6.6をインストールし、mysql5.0.51を使用中 mysqlのテーブル内の日本語が文字化けし、 いろんなサイトを参考にしながら見よう見まねで 以下のように設定してみました。 1)コマンドプロンプトで  set character set cp932; と入力 2)my.cnfというファイルに以下内容を追加 [client] 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 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 3) 1)、2)でも解決されなかったため 2)の内容でutf8のところをsjisに変えて再度保存 というような設定を行いました。 このように設定しても文字化けが解消しないどころか、 このように変えてから今度はxamppコントロールパネルのmysqlが 起動しなくなってしまいました。 正確には開始ボタンを押すとmysql起動とは表示されるのですが 開始ボタンが開始のままになってしまいます。 mysqlを使用している知人にこの問題について聞いてみたところ mysql5.0~の最新バージョンは不安定なので使わないほうがいいとのことですが、本当なのでしょうか? もし解決方法がないのであれば安定バージョンでインストール し直したいと思っているのですが、 どのバージョンだと比較的安定しているのでしょうか? 併せてご回答いただけるとたいへん助かります。 本当に初心者の質問で恐縮ですが、よろしくお願いします。

    • ベストアンサー
    • 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

その他の回答 (3)

  • 回答No.3

まだなおりませんか。。。 念のため、下記の情報をいただけますか? ・MySQLのバージョン ・データベース構造 SHOW CREATE DATABASE DATABASE_NAME; ・テーブル構造 SHOW CREATE TABLE TABLE_NAME; 力になれるかわかりませんが、ヒントが見つかればと思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

何度もお返事頂きすみません^^; データベース、テーブル共に名前はcar_tableです。 MySQL クライアントのバージョン: 5.0.51a mysql> SET NAMES SJIS; Query OK, 0 rows affected (0.02 sec) mysql> USE car_table Database changed mysql> SHOW CREATE DATABASE car_table; +-----------+------------------------------------------------------------------- -------------------------+ | Database | Create Database | +-----------+------------------------------------------------------------------- -------------------------+ | car_table | CREATE DATABASE `car_table` /*!40100 DEFAULT CHARACTER SET utf8 CO LLATE utf8_unicode_ci */ | +-----------+------------------------------------------------------------------- -------------------------+ 1 row in set (0.01 sec) mysql> SHOW CREATE TABLE car_table; +-----------+------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----+ | Table | Create Table | +-----------+------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----+ | car_table | CREATE TABLE `car_table` ( `id` int(11) NOT NULL auto_increment, `maker` varchar(10) collate utf8_unicode_ci default NULL, `country` varchar(10) collate utf8_unicode_ci default NULL, `type` varchar(10) collate utf8_unicode_ci default NULL, `color` varchar(10) collate utf8_unicode_ci default NULL, `comment` varchar(100) collate utf8_unicode_ci default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +-----------+------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----+ 1 row in set (0.06 sec)

  • 回答No.2

先ほど回答したものです。 ちゃんとした回答になっていなかったみたいですね。 ごめんなさい。 コマンドプロンプト側からクライアントキャラクタをセットします。 SET NAMES SJIS; これで、MySQLが文字コードをクライアントキャラクタに合わせて変換してくれるので文字化けは解消されると思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

お返事ありがとうございます。 以下の手順で試してみたのですが文字化けが解消されませんでした^^; mysql> SET NAMES SJIS; Query OK, 0 rows affected (0.00 sec) mysql> USE db //データベース(db)に入る Database changed mysql> SELECT * FROM table; //db内のテーブル(table)の内容を表示 データベース(db)はphpmyadminで作っており作成時の照合順序は utf8_unicode_ciです。

  • 回答No.1

こんにちは。 mysqlコマンドとは、Windowsのコマンドプロンプトだと思いますが、 Windowsのコマンドプロンプトは、取り扱っている文字コードがSjisなので、 文字化けはしてしまいます。

共感・感謝の気持ちを伝えよう!

質問者からの補足

お返事ありがとうございます。 >mysqlコマンドとは、Windowsのコマンドプロンプトだと思いますが コマンドプロンプトのことです。略して書いてしまいすみません。 >Windowsのコマンドプロンプトは、取り扱っている文字コードがSjisなので、 だからコマンドプロンプトだけ文字化けしてしまうのですね・・・ サイトはutf8なのでコマンドプロンプトで確認するときはsjisという 設定にするにはどこを変更すればいいのでしょうか?

関連するQ&A

  • MAMPのMySQLで文字化けする

    すみません、教えてください(><) mac( os X 10.7.5)でMAMP+Eclipse+PHPを使って以下のようにMySQLにデータ挿入 mysql_connect('localhost','root','root') or die(mysql_error()); mysql_select_db('mymy'); mysql_query('SET NAMES UTF-8'); mysql_query('INSERT INTO item SET id=1, name="あいうえお"'); をしたのですが、 phpMyadminからデータを確認してみると日本語が文字化けしてしまいます。 (phpMyadminからデータを挿入した場合はちゃんと表示されます。) 色々と調べ、 Eclipseの環境設定でワークスペースの文字コードやphpの文字コードをUTF-8にしたり、 MySQLのmy.cnfファイルの中に以下 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 を追加して再起動し、DBを一旦削除して再度作り直して挿入してみたりとやったのですが、改善されません。 サーバ接続の照合順序 は「utf8_general_ci」として作成しています。 コンソールからMySQLへ接続してDBの文字コードを確認してみると character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /Applications/MAMP/Library/share/charsets/ | というかたちになっています。 他にどういった点を改善すればいいのでしょうか? もうお手上げ状態でどうすることも出来ずにいます。。。

  • XAMPPの文字化け

    データベース(MySQL)に接続してデータを表示するというプログラムをPHPで作っています。ですが、日本語の部分が文字化けをしてしまいました。 どうやらソースコードではなくXAMPPの設定に原因があるそうです。 my.iniに以下の記述を追記すればよいとのことなのでmy.iniを変更したのですが、そうするとMySQLが起動できなくなってしまいます(起動してもすぐ自動的にストップしてしまいます) なので、my.iniの内容をコピーしたmy.confを作成し、そこに以下の記述を追記しました。 [client] 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 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 すると、MySQLは起動できるようになりました。しかしステータスを参照すると以下のように表記されており変更が反映されていません。 +--------------------------+----------------------------------------+ | Variable_name | Value +--------------------------+----------------------------------------+ | character_set_client | cp932 | character_set_connection | cp932 | character_set_database | latin1 | character_set_filesystem | binary | character_set_results | cp932 | character_set_server | latin1 | character_set_system | utf8 | character_sets_dir | D:\program\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------+ どうすればいいのでしょうか?いろいろ調べて試してみたのですが分かりません。このせいで先に進めず困っております。助けてください。。 保存先フォルダは D:\program\xampp\mysql です。 OSは Windows Vista です。 バージョンは ApacheFriends XAMPP version 1.7.7 + Apache 2.2.21 + MySQL 5.5.16 (Community Server) + PHP 5.3.8 (VC9 X86 32bit thread safe) + PEAR です。 よろしくお願いいたします。

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

    mysqlで文字化けしてしまいます +--------------------------+----------------------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_results | sjis | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | D:\App\Dev\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------+ となっているのですが 文字化けがなおりません どうすれば治るのでしょうか?

  • 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
  • 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 何かお解かりになることがありましたら、宜しくお願いします。

  • xamppのMySQLの文字化け

    いつもお世話になっております。 xamppをインストールし、開発を行っております。 formでsubmitし、DBに登録すると文字化けを起こします。 MySQLは下記項目を追加しました。 C:\xampp\mysql\bin\my.ini -------------------------------------------------- [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake character_set_server=utf8 init-connect=SET NAMES utf8 (ここに default-character-set = utf8 を追加するとMySQLが起動しなくなります。) [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 php.iniは下記のように設定してあります。 php.ini -------------------------------------------------- mbstring.detect_order auto mbstring.encoding_translation Off mbstring.func_overload 0 mbstring.http_input UTF-8 mbstring.http_output UTF-8 mbstring.http_output_conv_mimetypes ^(text/|application/xhtml\+xml) mbstring.internal_encoding UTF-8 mbstring.language Japanese mbstring.strict_detection Off mbstring.substitute_character no value 日本語が正しく登録されていれば、表示は正しくされます。 おかしな部分、足りない部分等ありましたら、ご教示ください。 よろしくお願いいたします。 [環境]  MySQL:5.5.8  PHP:5.3.5  xampp:1.7.4

    • ベストアンサー
    • MySQL
  • XAMPP MySQL my.cnfの設定について

    mySQLに日本語のデータを使いたい者です。 XAMPPを利用しています。 コマンドプロンプトからINSERT文などで日本語のデータを入れたいのですが、????になります。 mySQLのバージョンは5.1.30です。 XAMPPは1.7.0 my.cnfをメモ帖でひらき、[default-character-set]と検索してみましたが 何もHITしなかったので、次のようにmy.cnfに書き加えました。 [client] default-character-set=sjis [mysqld] default-character-set=sjis character-set-server = sjis collation-server = utf8_general_ci [mysql] default-character-set=sjis sjisになっているところは一度utf8で試してみたのですが ????ではなく文字化けになったのでsjisにしてみました。 何か設定に不備があるのでしょうか?DOS上でset names 'sjis' などを試してみましたが駄目でした。

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

    user_id user_name   mail comment create_datetime    del_flag 4 &#227;&#129;&#166;&#239;&#189;“&#239;&#189;” &#227;&#129;&#166;&#239;&#189;“&#239;&#189;” 2011-02-13 06:12:50    0 5 &#227;&#129;&#8218;&#227;&#129;&#8218;&#227;&#129;&#8218;&#227;&#402;&#402; &#227;&#129;&#166;    2011-02-13 06:15:14     0 このような感じで文字化けします [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 default-character-set = utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 の設定もしました 照合順序をtf8_unicode_ciにしました 色々ググッたのですがこのくらいしか設定するものがでてきませんでした ブラウザはchromで見ていますブラウザ側もutf-8になっています 他にもfirefox IEでも同じ結果でした 他に設定するべき項目があったらよろしくお願いします

  • MySQLの文字化け

    MySQLにPHPでデータを入力しています。 utf8でデータを送信しています。 どうも MySQLの設定がうまくできてないようです。 どこを どうやって変えたらよいのでしょうか? mysql> show variables like 'char%'; +----------------------+-----------------------+ | Variable_name        | Value             | +----------------------+-----------------------+ | character_set_client    | cp932             | | character_set_connection  | cp932             | | character_set_database   | latin1             | | character_set_filesystem  | binary             | | character_set_results  | cp932             | | character_set_server   | latin1             | | character_set_system   | utf8              | | character_sets_dir     | C:\xampp\mysql\share\charsets\ | +----------------------+-----------------------+

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

    mysqlの文字化けについて教えて下さい。 現在はテーブルを作って、データを挿入している段階なのですが、日本語入力のみ文字化けが起こります。 調べたところ、下記のように「my.ini」に記述すると言うことでしたので、試してみました。 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 [mysqldump] default-character-set =utf8 skip-character-set-client-handshake ※そのほかSERVER SECTIONの箇所へも「default-character-set=utf8」を記述。 csvファイルを読み込みすると、日本語の箇所のみ文字化けが起こり、mysql上で直接データを挿入すると、ローマ字は入るのですが、漢字だとエラーになってしまいます。 エラー文 incorrect string value: '入力文字が文字化けして表示’for column 'カラム名’at row 1 何か原因のお解かりになる方、宜しくお願いします。

    • ベストアンサー
    • MySQL