• 締切済み

mySQLの日本語表示について

mySQLの日本語表示について質問があります。 OSがvistaであるPCにxampp1.7.7をインストールし、必要なセットアップをすませました。 そこで、コマンドラインより適当なデータベース(workdb)に create table tab1(number int(8) unique not null, city varchar(10), country varchar(10)); として、テーブル(tab1)を作成し、 insert into tab1 values(1, '東京', '日本'); とtab1にデータを挿入し、 select * from tab1; で、tab1の内容を表示したところ +-------+----+-------+ | number | city | country | +-------+----+-------+ |     1|   |      | +-------+----+-------+ と、日本語で挿入した物だけ表示されませんでした。 status より、charactersetを確認したところ Server,Db,Client,Conn 全て utf8 となっていました。 また、 show variables like "char%"; より、Variable_nameも確認したところ character_set_client,character_set_connection,character_set_database,character_set_result,character_set_server,character_set_system は全てutf8になっており、character_set_filesystemのみbinary となっていました。 この『日本語のみ表示されない』原因はどういったものが考えられるのでしょうか? character_set_filesystem が原因なのでしょうか? 原因をネットで探してみましたが、『日本語が文字化けする』といったものばかりがヒットし、また上記のVariable_nameがutf8になっていないといった内容が多く、自分に生かす事ができませんでした。 わかる方がいらっしゃればお手数おかけして大変申し訳ないのですが、是非ご教授お願いしたいと思っています。 よろしくお願いいたします。 質問に必要な情報が足りていない場合、教えていただければと思います。

みんなの回答

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

windowsのコマンドプロンプトは、defaultでは sjis(より正確にはcp932)だからでは? 接続したら set names cp932; といれてみましょう。 これで、多バイト文字がうまく入力表示できるなら、my.ini の[mysql] sessionに default-character-set=cp932 としておけば、コマンドプロンプトからの接続の度にset names を入力する必要はありません。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

my.iniを編集してますか? セクション[mysqld]のlanguageやdefault-character-setあたり。 「MySQL 日本語 設定」をキーワードにして検索すると解説されてるサイトが見つかりますよ。

takedai031
質問者

補足

教えていただいた検索ワードで出てくるようなサイトなどを全て参考にし、チェックしましたが、my.iniの編集は全て滞りなく行えているようです。 回答ありがとうございます!

関連するQ&A