- ベストアンサー
javaでのOracleのデータ登録の際の文字化け
Windows2000上でjavaでの開発を行っています。 javaからOracle(OSはUnixだと思います)へデータを更新する際 「―」(全角のダッシュ」が「?」となって登録されてしまいます。 SQLを発行する時は「―」は文字化けしていません。 処理終了後テーブル内容を確認すると 「?」となって登録されています。 CSE(Common SQL Environment)でデータを更新したところ 文字化けは起こらず正しく「―」が登録されました。 javaで何か文字コード変換等を行う必要があると思うのですが 方法がわかりません。 ご存知の方がいらっしゃいましたら、よろしくお願いします。
- relax7777
- お礼率50% (29/57)
- Java
- 回答数2
- ありがとう数4
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
↓これでは?
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
Oracleは自動的に文字コードを変換してくれるはずですので特に変換はいらないと思います。 Oracleの文字コードはShiftJISを利用しているのではないでしょうか? だとしたら原因はJavaのバグだと思います。UNICODEからShiftJISに変換する際に一部変換がおかしいものがあります。なので、それに対処しなければ部分的な文字化けが起こります。対処法などは参照URLを参考にしてください。 まずは、Oracleで利用している文字コードなどを確認してみてください。
お礼
遅くなりました。ありがとうございました!
関連するQ&A
- 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
- 締切済み
- MySQL
- SQL開発環境ソフトウェアであるCSEの操作方法
SQL開発環境ソフトウェアであるCSE(Common SQL Environment)の操作を習得したいのですが、操作方法が掲載されているサイトがありましたら教えて頂けないでしょうか。
- ベストアンサー
- MySQL
- Oracle9iの画面が文字化けする
Oracle9iをインストールしたところ、SQL*Plus以外の画面が全て文字が化けてしまっています。 (JAVAで書かれている画面全て) どうすれば、直るのでしょうか OS Windows2000です。
- 締切済み
- Oracle
- 【Servlet】Linux環境でSJISファイルから読み込んだデータをDB登録後の文字化け
Linux環境でSJISファイルから読み込んだデータをDBに登録するとデータが文字化けしてしまいます。 Windows環境で同じ処理を行うとDBに登録されたデータは文字化けしません。 上記文字化けの原因は、プラットフォームごとに設定されているデフォルトのエンコーディングで変換されてしまっているということでしょうか? また、Linux環境で文字化けしないでDBにデータを登録するにはどうしたらよいのでしょうか? 【環境】 Miracle Linux Oracle 10g
- ベストアンサー
- 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
お礼
締め切り遅くなりました。どうやらこれのようです。 ありがとうございました。