- PR -

検索結果が文字化けしてしまいます

1
投稿者投稿内容
けいち
会議室デビュー日: 2003/12/01
投稿数: 5
投稿日時: 2003-12-09 13:49
こんにちは。JSP初心者のけいちと申します。
Oracle8i(unix)とtomcat+jsp(win)を使って、クライアント(win)のブラウザ(ie)で
Oracleの検索結果を表示する画面を作成しています。

Oracleでdecodeを使い、下のように表示させたいのですが、
DECODE(STATUS,'Released','リリース','Confirmed','確認','完了')
結果が"?m?F"のように文字化けしてしまいます。
データを表示するときには下のように記述しているのですが、、
うまくいきません。
wk = rs.getString("STATUS");
conv = new String(wk.getBytes("SJIS"),"JISAutoDetect");
out.println("<TD>"+ conv +"</TD>");

どなたか、すみませんが、ぜひアドバイスをお願いいたします。
ひろし
会議室デビュー日: 2003/11/27
投稿数: 18
投稿日時: 2003-12-09 14:14
こんにちわ。

以前、使ったことがある方法ですが、

Oracleから読んできた時は、
aaa = new String(dataA.getBytes("shift_jis"),"8859_1");

Oracleに書き込む時は、
dataA = new String(aaa.getBytes("8859_1"),"shift_jis");

というような変換をかけていました。

これが普通なのかどうか解らないので参考程度に考えて下さい。
↓これも参考になるかもしれません。
http://www.itnavi.com/TomcatServ.htm
けいち
会議室デビュー日: 2003/12/01
投稿数: 5
投稿日時: 2003-12-09 14:25
ひろしさん、こんにちは。お返事ありがとうございます。
やってみたのですが、だめでした。
リンクも見れないみたいです・・。
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2003-12-09 15:01
ども。がると申します。
まずは問題の切り分けをしたほうがよいのかなぁ? という提案を一つ。
具体的には
・文字コードがおかしい(と予想される)
事象なので、プログラムの流れの各所で、データの状態を追っかけて
いくとよいと思います。
具体的には、
・Oracleのデータの文字コード
・WindowsマシンからOracleにアクセスしてSELECTしてきた直後の
データの文字コード
・Java内で(恐らくはstringあたりに)格納されている状態での文字コード
・現在出力されているデータの文字コード
を一通り調べて、データがどのように変化しているのかを把握するのが
とりあえずもっともストレートなアプローチかと思います。
上記の各データのDumpをとってみて、そこから問題解決をスタートさせるのは
いかがでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)