• 締切済み

JavaプログラムからDBに書き込みをしているのですが…

入力値を受け取り、Javaプログラムでその入力値 をDBに書き込むのですが、漢字と特殊文字の一部 が文字化けしてしまいます。 対策として『予』という文字なら『予\』で登録すれば よいのはわかるのですが、毎回プログラムで入力値をチェックし後ろに\記号をつける方法しかないのでしょうか? DBはmysqlを使用していて、文字コードはsjisを指定しています。

みんなの回答

  • thelma
  • ベストアンサー率66% (20/30)
回答No.1

「入力値」が何から入力されているのか、など、ご質問の状況がわかりませんが、 Javaでは、プログラム内での処理にUnicodeを使うため、 入力値を受け取るところと、データベースに書き込むところと、2箇所で文字化けが発生する可能性があります。 入出力の文字セットを正しく把握して、java.ioでストリームを扱う時などに正しいUnicodeコンバータを使うようにすれば、文字化けは回避できるはずです。 参考URLは主にサーブレットとJSPの文字化けに関するものですが、そういうご状況でなかったとしても、発生原因など一部参考になるのではと思います。

参考URL:
http://www.ingrid.org/java/jserv/i18n/corruptedchar.html

関連するQ&A