DBを利用したWebシステムでの文字化けの原因は様々な部分にあるため、段階を追って切り分ける必要があります。
- DBに格納されているデータが文字化けしている(データ登録の問題)
- DB<>Java間で文字化けしている(DBアクセス部分の問題)
- ブラウザ上で文字化けしている(エンコード起因)
確認事項
- DB内のデータが文字化けしていないことが確認できますか?
(他端末からは文字化けしていないとのことですが。)
- DB接続に利用しているフレームワークはSeasar2の中で「s2jdbc」ですか?
それとも他のフレームワークですか?
- 「デバックでDBから取得してきた値を見ると」とありますが、どのように確認されていますか?
(データは正しくてもデバッグ表示時に文字化けしている可能性あり、コンソールで文字化けとか)
(パスワード等が記載されている場合は必ず伏せてください)
- ブラウザで表示させている時のエンコーディングは何になっていますか?
文字化けしている端末としていない端末の両方でご確認ください。
他の端末にあったpleiadesフォルダをコピーして来たのですが
以下蛇足ですが、正しい手順(セットアップ手順)を利用することで不確定要素を減らすことができ、問題の発生を事前に防いだり、問題発生時の原因の局所化ができます。
まずは正しい手順でのセットアップをすることをお勧めします。
以下コメントを受けての追記です。
コメントありがとうございます。
s2jdbcですね。
また、状況としてはDB<>java間で文字化けしてしまっているようですね。
追加で確認です。
jdbcドライバで接続する際、oci方式、thin方式の2種類があります。
jdbcのURLで方式を指定しているのですが、どちらを利用されていますか?
※提示していただいたものだと、ちょうど伏せられてしまっていました。。。
# thin方式の場合のURL例です
jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:hogedb
thin方式を利用しているとNLSなどの設定を意識することなくjdbcドライバが文字コードの変換をしていてくれた気がします。oci方式だとクライアント側のNLS_LANGの設定が影響する、だったと思います。
そのため、方式により原因が異なるかもしれないです。
※OracleのJDBC開発者ガイドおよびリファレンスに記述があるかも。。。
oci方式となりますと他の方の回答にもあるようにNLS_LANGの設定を確認したほうがよさそうです。
ただ、JavaのWebアプリケーションでoci方式を利用したことがないので、OS環境変数として設定するのか、tomcatの環境変数とするのかが分からないので確認が必要です。
oci方式となるようでしたら再現するよう試行してみます。