Interstage Application Serverにおいて、Oracle JDBC経由で取得した全角ハイフン"―"がJDK1.4環境で文字化けします。

Oracle JDBC経由で取得した全角ハイフン"―"(0xa1bd)がJDK1.3環境では正常に表示されますが、JDK1.4環境では'?'に変換されてしまいます。原因と対処方法を教えてください。
[原因]
全角ハイフン"―"(0xa1bd)はJDK1.3環境ではU+2015にマッピングされ、JDK1.4環境ではU+2014にマッピングされるためです。これは、JDK/JREのバージョンによりデフォルトで使用される文字コンバータが変更されていることによる相違です。

Solarisにおけるデフォルト文字コンバータの相違
JDK/JREのバージョン デフォルトで使用される
文字コンバータ
対応する文字セット名
(正準名)
1.3.0
1.3.1
1.3.1_01a
1.3.1_03
1.3.1_04
1.3.1_06
1.4.0
1.4.0_01
1.4.1_01
1.4.1_03
EUC_JP EUC_JP
1.3.1_08
1.3.1_12
1.4.2_05
EUC_JP_Solaris EUC_JP_Solaris
1.4.2_08
1.4.2_12
1.4.2_14
1.5.0_10
EUC_JP_Open EUC_JP_Open

[対処方法]
異なるバージョンのJDK/JREの間で移行を行う場合は、Javaプログラムで文字列操作やI/O操作を行う部分において、上の表の"対応する文字セット名(正準名)"にある文字セット名を明示するように修正してください。

[例]JDK/JRE 1.3.0からJDK/JRE 1.5.0_10に移行する場合

 new String(byte[]) → new String(byte[], "EUC_JP")
 new FileReader(File) → new InputStreamReader(FileInputStream, "EUC_JP")

製品・サービス区分 Interstage
製品・サービス情報
対象製品 Interstage Application Server
バージョン V9, V8, V7, V6, V5
プラットフォーム Solaris
アンサー種別 構築(導入/移行)
このページの先頭へ