マルチバイト環境での使用にあたって

  前 次 前/次ボタンと目次ボタンとの区切り線 目次

BEA WebLogic Type4 JDBC Driver for Oracle の codePageOverride プロパティについて

WebLogic Server 8.1 SP5 および WebLogic Server 9.0 より、codePageOverride プロパティを指定しない場合のデフォルトの文字コード マッピングが変わります。

WebLogic Server 8.1 SP4 までは、codePageOverride プロパティを指定しない場合、Java と Oracle JA16SJIS/JA16SJISTILDE/JA16SJISYEN データベース間の文字コード変換に独自のマッピングを使用しておりましたが、WebLogic Server 8.1 SP5 および WebLogic Server 9.0 より Oracle Thin Driver と同様のマッピングを行うように変更されています。

過去のバージョンの WebLogic Type4 JDBC Driver for Oracle (WebLogic Server 8.1 SP3/SP4 にバンドルされていたバージョン等) を使用しており、codePageOverride プロパティを指定していない場合は、バージョンアップ時に変換マッピングが変わる文字コードがあります。

図 1. WebLogic Type4 JDBC Driver のバージョン確認方法

Connection conn = getConnection();
DatabaseMetaData dmd = conn.getMetaData();
System.out.println("JDBC Driver Name is " + dmd.getDriverName());
System.out.println("JDBC Driver Version is " + dmd.getDriverVersion());

WLS 8.1 SP3 にバンドルされている WebLogic Type4 JDBC Driver (3.3.44*) を使用している場合

Unicode から JA16SJIS への文字コード変換

データベースが JA16SJIS の場合、3.3.44 (SP3) では、Java SJIS エンコーディングで扱うことができない文字については JA16SJIS への文字コード変換が行われませんでした。3.40.57 以降 (WLS 8.1 SP5 および WLS 9.0 以降) から Oracle Thin Driver と同様の位置に変換されるようになります。

JA16SJIS から Unicode への文字コード変換

データベースが JA16SJIS の場合、3.3.44 (SP3) では、Java SJIS エンコーディングで扱うことができない文字については Unicode への文字コード変換が行われませんでした。また表 1 にある文字については SJIS コンバータと同様の位置に変換されていました。3.40.19 (SP4) 以降から Oracle Thin Driver と同様の位置に変換されるようになります (表 2 参照)。

表 1. 複数マッピングのある文字

    JA16SJIS SJIS コンバータ MS932 コンバータ
Horizontal Bar 0x815c U+2014 U+2015
Wave Dash (Tilde) 0x8160 U+301c U+ff5e
Double Vertical Line 0x8161 U+2016 U+2225
Minus Sign 0x817c U+2212 U+ff0d
Cent Sign 0x8191 U+00a2 U+ffe0
Pond Sign 0x8192 U+00a3 U+ffe1
Not Sign 0x81ca U+00ac U+ffe2

表 2. JA16SJIS から Unicode 変換における、3.3.44 と 3.40.19 以降間のマッピングの違い

    JA16SJIS 3.3.44 3.40.19以降
Horizontal Bar 0x815c U+2014 U+2015
Wave Dash (Tilde)** 0x8160 U+301c U+301c
Double Vertical Line 0x8161 U+2016 U+2225
Minus Sign 0x817c U+2212 U+ff0d
Cent Sign 0x8191 U+00a2 U+ffe0
Pond Sign 0x8192 U+00a3 U+ffe1
Not Sign 0x81ca U+00ac U+ffe2

**Wave Dash は 3.3.44 と 3.40.19 以降間でマッピングが変わりません

3.3.44 (SP3) から 3.40.57 以降 (WLS 8.1 SP5 および WLS 9.0 以降) へドライバのバージョンを変更する場合の注意事項

*ドライババージョンの確認方法は、図 1「WebLogic Type4 JDBC Driver のバージョン確認方法」を参照してください。

WLS 8.1 SP4 にバンドルされている WebLogic Type4 JDBC Driver (3.40.19) を使用している場合

Unicode から JA16SJIS への文字コード変換

データベースが JA16SJIS または JA16SJISTILDE の場合、3.40.19 (SP4) では Java SJIS エンコーディングで扱うことにできない文字については、JA16SJIS への文字コード変換が行えませんでした。3.40.57 以降 (WLS 8.1 SP5 および WLS 9.0 以降) から Oracle Thin Driver と同様の位置に変換されるようになります。

JA16SJIS から Unicode への文字コード変換

データベースが JA16SJIS または JA16SJISTILDE の場合、3.40.19 (SP4) では Java SJIS エンコーディングで扱うことにできない文字については、Unicode への文字コード変換が行えませんでした。3.40.57 以降 (WLS 8.1 SP5 および WLS 9.0 以降) から Oracle Thin Driver と同様の位置に変換されるようになります。

3.40.19 (SP4) から 3.40.57 以降 (WLS 8.1 SP5 および WLS 9.0 以降) へドライバのバージョンを変更する場合の注意点

SP にバンドルされていない WebLogic Type4 JDBC Driver のバージョン (3.3.44/3.40.19 以外) を使用している場合

codePageOverride プロパティを指定していないアプリケーションを、3.40.57 以降 (WLS 8.1 SP5 および WLS 9.0 以降) にバージョンアップされる際は、サポート窓口までお問い合わせください。ご使用のバージョンに関するマッピング変更の詳細情報をご提供いたします。

 

ページの先頭 前 次