• ベストアンサー

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

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

  • Java
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • 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

  • 文字化け

    ORACLE(UNICODE)に対し、 SQL*PLUSから、(test.sql等)ファイルから insert文で'(1)'とう文字を入力しようとすると、 文字化けが発生します。 1)ORACLEにUNICODEで'(1)'という文字は登録可能でしょうか? 2)もし可能なら、どのような方法で可能でしょうか?(SQL*PLUSで) 以上、お願い致します

  • Java 文字化け

    Javaで文字化けが起こりました。 使用OS:WindowsXP SP3 32bit Javaバージョン:v10.2.152.32 グーグルでいろいろ調べてみたのですがどれも開発者向けでした。 こちらでできる対策があるならば教えてください。

    • ベストアンサー
    • Java
  • cseデータ閲覧時に文字化け

    cseからodbc経由でmysqlに接続しています。 select文発行時の結果が、全角の文字データが??で表示され、正しく見ることができません。 また、cseから以下のようなsqlを発行するとエラーが発生してしまいます。 insert into myaddress values('168-0063','ああ',current_timestamp(),now(),current_date(),1234567,125) エラーメッセージ SQL実行中に以下のエラーが発生しました。 エラーコード:1366 [MySQL][ODBC 3.51 Driver][mysqld-5.0.37-community-nt]Incorrect string value: '\x82\xA0\x82\xA0' for column 'address' at row 1 SQLステータス:S1000 mysqlのプロンプトでデータを見ると全角文字列は文字化けすることなく 表示されます。 解決方法が解らず困っています。 ご存知の方がいらっしゃいましたら、宜しくお願いします。 動作環境は以下です。 wincse: ver 1.59 mysql :5.0.37 myodbc:3.51

  • SQL開発環境ソフトウェアであるCSEの操作方法

    SQL開発環境ソフトウェアであるCSE(Common SQL Environment)の操作を習得したいのですが、操作方法が掲載されているサイトがありましたら教えて頂けないでしょうか。

    • ベストアンサー
    • MySQL
  • Oracle9iの画面が文字化けする

    Oracle9iをインストールしたところ、SQL*Plus以外の画面が全て文字が化けてしまっています。 (JAVAで書かれている画面全て) どうすれば、直るのでしょうか OS Windows2000です。

  • 【Servlet】Linux環境でSJISファイルから読み込んだデータをDB登録後の文字化け

    Linux環境でSJISファイルから読み込んだデータをDBに登録するとデータが文字化けしてしまいます。 Windows環境で同じ処理を行うとDBに登録されたデータは文字化けしません。 上記文字化けの原因は、プラットフォームごとに設定されているデフォルトのエンコーディングで変換されてしまっているということでしょうか? また、Linux環境で文字化けしないでDBにデータを登録するにはどうしたらよいのでしょうか? 【環境】 Miracle Linux Oracle 10g

    • ベストアンサー
    • Java
  • 文字化け対処法

    JAVAサーブレットをやってます。 フォームに入力したデータをファイルへ保存するとき。 全角文字が含まれると文字化けが起こってしまいます。 HTMLの表示の時も文字が化けたり化けなかったりすることがあるのですが・・・。 どうすれば文字化けを防ぐ事ができますか?

    • ベストアンサー
    • Java
  • データ移行時の文字化け

    テキストファイルに保存していたログデータをPostgreSQLデータベース(文字コード:SQL_ASCII)に保存すると、文字化けが発生します。 移行処理でのSQL文字列の段階では問題ないのですが、実際に保存されたデータは文字化けした内容になっています。(「\」がついた状態) stripslashes関数を使ってみましたが、SQL文字列の段階で文字化けしてしまい、そのまま登録されてしまいます。 どなたかご回答よろしくお願いします。

    • 締切済み
    • PHP
  • 全角ダッシュの文字化け

    文字コードはぜんぜん詳しくないですが、 あと一息のところで困ってます。 全角ダッシュの文字化けについてはなかなか参考になるものが少なく、 どなたかご教授いただけないでしょうか? 宜しくお願いします。

    • 締切済み
    • PHP
  • データを拾うときに文字化け?

    現在、Webアプリケーションを作っているのですが文字化けが起こってしまいます。 データを追加するときは問題なし データを更新するときに発生 となるのですが、前者と後者で同じデータでも文字化けします。(この2つには相違点は必要部分以外はありません。) 更新の時には現データをフォームに表示させていますが、それが問題でしょうか? 例 (JSP内) <input type="text" value="ゼロ" name="aaa" /> (Java内) String name = request.getParameter("aaa") System.out.println(name); でデータを変更せず(しても)JSPで送信ボタンを押すとコマンドプロンプトには意味不明の文字列が出てきます 尚、全てのデータを拾うクラス(サーブレット)には request.setCharacterEncoding("Shift_JIS"); JSPには <%@page contentType="text/html; charset=ISO-2022-JP" pageEncoding="Shift_JIS" %> をつけています。 開発環境 WindowsXP Home Edition MySQL 4.0.26 Apache Tomcat 4.1 この原因や解決方法が分かれば教えてください。

    • ベストアンサー
    • Java

専門家に質問してみよう