• ベストアンサー

MySQLで日本語が化けてしまいます。

yahooの知恵袋で聞いたのですが、こちらのがよいと聞いたのでこちらに質問させていただきます。 今MYSQLをつかって卒業研究をしています。JAVAから日本語のデータをデータベースに登録するのですが、2バイト文字であるとどうしても化けてしまいます。MYSQLで2バイト文字をつかうことは無理なのでしょうか。参考書を見たところ、漢字をつかっているのでつかうことはできると思うのですが、どうしたら使えるのでしょうか? 過去の質問で『Mysqlで文字化けします』と言うものが合ったので参考にして回答された方法を試したのですが依然文字化けしてしまいます。

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

参考になるかはわかりませんが、以下が私のMy.iniです。 Win2000ですが、WEBに上げるのでLinuxにあわせてujisになっています。 #This File was made using the WinMySQLAdmin 1.4 Tool #2003/09/22 11:59:46 #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] basedir=C:/mysql #bind-address=192.168.0.1 datadir=C:/mysql/data #language=C:/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M default-character-set=ujis [WinMySQLadmin] Server=C:/mysql/bin/mysqld.exe user=******** password=******** language=c:/mysql/share/japanese default-character-set=ujis [mysql] default-character-set=ujis [mysqldump] default-character-set=ujis [WinMySQLadmin] Server=C:/MYSQL/bin/mysqld-nt.exe コマンドプロンプトからMYSQLにログインしてみて、データを入れてみればどうなるでしょうか。 それでだめならMysqlのほうに問題があります。 > mysql -u root -p[Enter] > [パスワード入力][Enter] Mysql> use データベース とやって、SQL文を発行してやれば。

kojsan
質問者

お礼

moon_nightさんの具体例を参考にさせていただき、設定をさせていただきました。コマンドプロンプトから直接入力したら登録できました。どうやらJAVAの方で問題があるみたいです。 どうもありがとうございました。

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

何を試したのかどうかは分かりませんが、一般的な回答をします。 OSがWINDOWSだと仮定します。(Linux系はわからない) my.iniの内容に default-character-set=sjis などを書き加えます。 ようは使用する文字を宣言してやるということです。 その場合はJAVAからの文字も合わせること。 WINならばsjis、それ以外ならばujis(EUC)にあわせれば大丈夫だと思われます。

kojsan
質問者

お礼

どうやら原因は別のところにも合ったようです。しかしSQLの問題は解決しました。ありがとうございました。

kojsan
質問者

補足

説明不足で申し訳ありません。OSはWINDOWSXPです。 参考になるかどうかは分かりませんが、以下はmy.iniのないようです。 #This File was made using the WinMySQLAdmin 1.4 Tool #2004/10/29 14:02:23 #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] basedir=F:/MySQL #bind-address=***.***.**.*** datadir=F:/MySQL/data #language=F:/MySQL/share/your language directory default-character-set=sjis #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M [WinMySQLadmin] Server=F:/MySQL/bin/mysqld-nt.exe user=***** password=***** [mysql] default-character-set=sjis [mysql-dump] default-character-set=sjis

関連するQ&A