• ベストアンサー

javaでのOracleのデータ登録の際の文字化け

Windows2000上でjavaでの開発を行っています。 javaからOracle(OSはUnixだと思います)へデータを更新する際 「―」(全角のダッシュ」が「?」となって登録されてしまいます。 SQLを発行する時は「―」は文字化けしていません。 処理終了後テーブル内容を確認すると 「?」となって登録されています。 CSE(Common SQL Environment)でデータを更新したところ 文字化けは起こらず正しく「―」が登録されました。 javaで何か文字コード変換等を行う必要があると思うのですが 方法がわかりません。 ご存知の方がいらっしゃいましたら、よろしくお願いします。

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

  • ベストアンサー
  • jun-1
  • ベストアンサー率29% (18/61)
回答No.2

↓これでは?

参考URL:
http://otn.oracle.co.jp/software/tech/java/jdbc/nlsalart/nlsalart.html
relax7777
質問者

お礼

締め切り遅くなりました。どうやらこれのようです。 ありがとうございました。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

Oracleは自動的に文字コードを変換してくれるはずですので特に変換はいらないと思います。 Oracleの文字コードはShiftJISを利用しているのではないでしょうか? だとしたら原因はJavaのバグだと思います。UNICODEからShiftJISに変換する際に一部変換がおかしいものがあります。なので、それに対処しなければ部分的な文字化けが起こります。対処法などは参照URLを参考にしてください。 まずは、Oracleで利用している文字コードなどを確認してみてください。

参考URL:
http://www.atmarkit.co.jp/fjava/rensai3/mojibake02/mojibake02.html
relax7777
質問者

お礼

遅くなりました。ありがとうございました!

関連するQ&A