プロが教える店舗&オフィスのセキュリティ対策術

Windows2000上でjavaでの開発を行っています。

javaからOracle(OSはUnixだと思います)へデータを更新する際
「―」(全角のダッシュ」が「?」となって登録されてしまいます。
SQLを発行する時は「―」は文字化けしていません。
処理終了後テーブル内容を確認すると
「?」となって登録されています。
CSE(Common SQL Environment)でデータを更新したところ
文字化けは起こらず正しく「―」が登録されました。

javaで何か文字コード変換等を行う必要があると思うのですが
方法がわかりません。

ご存知の方がいらっしゃいましたら、よろしくお願いします。

A 回答 (2件)

    • good
    • 1
この回答へのお礼

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

お礼日時:2005/12/06 19:12

Oracleは自動的に文字コードを変換してくれるはずですので特に変換はいらないと思います。



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

まずは、Oracleで利用している文字コードなどを確認してみてください。

参考URL:http://www.atmarkit.co.jp/fjava/rensai3/mojibake …
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/12/06 19:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!