Java アプリケーションおよび Unicode データ

Java™ はユニコードベースであり、Javaアプリケーション内のすべての文字処理はユニコードで行われます。 Unicodeに変換されていない文字データは、Javaアプリケーションに渡す前に変換する必要があります。 これらの変換は、 Db2 または JDBC ドライバーによって処理され、アプリケーションからは透過的に行われます。

また、バイナリデータをJavaアプリケーションに渡して文字データに変換することもできます。 (この文は、正しい Java エンコーディングが提供されていることを前提としています。)

Javaプログラミングの観点では、オブジェクトを操作しているため、その基盤となるエンコーディングを気にする必要はありません。 しかし、Javaアプリケーションが他のテクノロジー( Db2 for z/OS® など)と通信を行う場合、変換が行われる可能性があります。 この変換は、 Db2 または JDBC ドライバーによって処理されますが、変換費用が発生する場合がありますのでご注意ください。

この変換は、ドライバーをどのように使用し、データがどのように Db2 に保管されるかによって異なります。 IBM® Data Server Driver for JDBC and SQLJ タイプ2接続Db2 for z/OS で有効になっている場合、ドライバーはターゲットサーバーのエンコーディング方式でデータを送信します。 IBM Data Server Driver for JDBC and SQLJ タイプ4接続により、ドライバーは UTF-8 のデータを送信します。

IBM Data Server Driver for JDBC and SQLJ タイプ2接続 Db2 for z/OS SQLDAオーバーライドを使用して Db2 エンコード方式がバインド時に指定されたものと異なる場合。 IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続は、 DRDA データ フローを使用してデータを記述します。 この環境は DRDA 環境であるため、 Db2 は ENCODING バインドオプションを使用してデータの CCSID を決定したり、データをエンコードしたりすることはありません。

Javaはビッグエンディアンとリトルエンディアンの両方のデータを処理できます。 (この文は、正しい Java エンコーディングが提供されていることを前提としています。)