Java アプリケーションでの文字エンコード

Java プログラムでは、内部的にはユニコード・テキストを使用しますが、 DB2 Everyplace の表内の文字データは、表を作成したときのオペレーティング・システムや言語によっては、ユニコード以外の形式である可能性があります。 Windows CE および Symbian OS オペレーティング・システムの場合、 DB2 Everyplace JDBC ドライバーはテキスト取り出しと挿入を UTF-8 形式で行います。 サポートされるその他のオペレーティング・システムの場合、 システムのデフォルトの文字エンコード方式が使用されます。 デフォルト値は、通常、Java システム・プロパティーの「file.encoding」属性によって決定されます。

例えば、Win32 オペレーティング・システムの場合、同一のマシン上で、ユニコード・バージョンの CLI インターフェースを使用するか、 非ユニコード・バージョンの CLI インターフェースを使用するかを選択することができるため、 あるデータベースでは UTF-8 形式のエンコードを使用し、別のデータベースではローカルのコード・ページのエンコード方式を使用するといったことが可能です。 JDBC アプリケーションが両方のデータベースのデータにアクセスできるようにするために、 DB2 Everyplace には、アプリケーションが使用するデータ・エンコード形式を動的に指示できるようにする機能が用意されています。

DB2 Everyplace JDBC ドライバーは、アプリケーションによって指定された形式に従って、 Java ストリングをバイトに変換します。 アプリケーションで指定された形式は、オペレーティング・システムのデフォルトの文字エンコード方式をオーバーライドします。

ユーザーは JDBC インターフェースを介して、アプリケーションのデータ・エンコード形式を動的に指定することができます。 これを行う方法は以下のとおりです。

  1. java.util.Properties オブジェクトを作成する。

    値 UTF-8 を使用して、UTF-8 コーディングを使用する DB2 Everyplace を指定するか、あるいは、 JVM がサポートする任意の文字エンコード方式を使用してください。

  2. 以下のいずれかの方法によって、java.util.properties オブジェクトを渡す。

関連した解説