• 締切済み

mySQLデータベースに書き込むと文字化けをする

すみませんタイトルにある通りなのですが、データベースはmySQLを使用していて、 コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を 表示すると、文字化けをしていることがあります。 対策はあるのでしょうか?日本語の一部は必ず文字化けをしてしまうのですか? 同時にweb(自作のアプリケーション)からデータベースに書き込む時も同様の現象が起こってしまいます。 文字コードの指定方法で解決できると思うのですが、わからないのですよろしくお願いします。

みんなの回答

  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

default-character-setの設定方法ですが、私の場合は winmysqladmin.exe を使って MySQLのプログラムを起動させています。 winmysqladmin.exeを起動すると、 my.ini setup というタグがあるので、そこをクリックすると [mysqld] の後に設定パラメタが表示されます。 そこにdefault-character-set=sjisを追加しました。 default-character-setはサーバ側の設定の問題なので クライアント側(Javaなど)では設定できません。

sugoitensai
質問者

補足

sjisの文字コードをセットできたのですが、なぜか『予約』という単語を入力するとその後の文字も一緒に文字化けしてしまうようなのです。 これは回避しようがないのでしょうか?

  • yuji
  • ベストアンサー率37% (64/169)
回答No.2

default-character-set はsjisになっていますか?

sugoitensai
質問者

補足

すみません。指定の仕方がわからないのです。 mysqlコマンドの後にオプションで指定したような気がしますが… それにしても毎回指定しなければならないのでしょうか? あと、アプリケーション(Javaプログラム)内で指定できるのでしょうか?

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

> コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を表示すると、 > 文字化けをしていることがあります。 コマンドプロンプトで直接打っても、本当に文字化けします? おかしいなぁ。。。 Windowsなどから、ssh、telnetのログインではなく、プロンプト直打ですか? > 日本語の一部は必ず文字化けをしてしまうのですか? カタカナの「ソ」とかですか? > 同時にweb(自作のアプリケーション)… この問題は、まず上記を片づけてからですね。 一番引っかかるのは本当に、「プロンプト直打ちで、文字化けしてしまう」って事ですね。。。

sugoitensai
質問者

補足

はい、telnetなどのリモートログインではなくmySQLのインストールされている コンピュータ上のコマンドプロンプトでの直打ちです。 日本語の一部とは漢字やかななど『全角文字』の一部のようです。 aなどの半角英数は文字化けは起こっていません。

関連するQ&A