- 締切済み
mySQLデータベースに書き込むと文字化けをする
すみませんタイトルにある通りなのですが、データベースはmySQLを使用していて、 コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を 表示すると、文字化けをしていることがあります。 対策はあるのでしょうか?日本語の一部は必ず文字化けをしてしまうのですか? 同時にweb(自作のアプリケーション)からデータベースに書き込む時も同様の現象が起こってしまいます。 文字コードの指定方法で解決できると思うのですが、わからないのですよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yuji
- ベストアンサー率37% (64/169)
default-character-setの設定方法ですが、私の場合は winmysqladmin.exe を使って MySQLのプログラムを起動させています。 winmysqladmin.exeを起動すると、 my.ini setup というタグがあるので、そこをクリックすると [mysqld] の後に設定パラメタが表示されます。 そこにdefault-character-set=sjisを追加しました。 default-character-setはサーバ側の設定の問題なので クライアント側(Javaなど)では設定できません。
- yuji
- ベストアンサー率37% (64/169)
default-character-set はsjisになっていますか?
補足
すみません。指定の仕方がわからないのです。 mysqlコマンドの後にオプションで指定したような気がしますが… それにしても毎回指定しなければならないのでしょうか? あと、アプリケーション(Javaプログラム)内で指定できるのでしょうか?
- kusukusu
- ベストアンサー率38% (141/363)
> コマンドプロンプトからinsertコマンドなどで書き込んだ後に、テーブルの内容を表示すると、 > 文字化けをしていることがあります。 コマンドプロンプトで直接打っても、本当に文字化けします? おかしいなぁ。。。 Windowsなどから、ssh、telnetのログインではなく、プロンプト直打ですか? > 日本語の一部は必ず文字化けをしてしまうのですか? カタカナの「ソ」とかですか? > 同時にweb(自作のアプリケーション)… この問題は、まず上記を片づけてからですね。 一番引っかかるのは本当に、「プロンプト直打ちで、文字化けしてしまう」って事ですね。。。
補足
はい、telnetなどのリモートログインではなくmySQLのインストールされている コンピュータ上のコマンドプロンプトでの直打ちです。 日本語の一部とは漢字やかななど『全角文字』の一部のようです。 aなどの半角英数は文字化けは起こっていません。
補足
sjisの文字コードをセットできたのですが、なぜか『予約』という単語を入力するとその後の文字も一緒に文字化けしてしまうようなのです。 これは回避しようがないのでしょうか?