通常、Java™ アプリケーションの場合の XML エンコード方式に関する考慮事項は、CLI または組み込み SQL アプリケーションの場合より少なくなります。 内部的にエンコードされた XML データのエンコード方式に関する考慮事項はすべてのアプリケーションで同じですが、Java アプリケーションにおいて外部的にコード化されたデータの場合はより単純です。その理由は、このアプリケーション・コード・ページは常に Unicode だからです。
ファイル・システムのエンコード方式は Unicode でない可能性もあるので、ストリング・データはファイル中に保管される際に変換される可能性があります。 データをバイナリー・データとしてファイルに書き込む場合には、変換は起こりません。
Java アプリケーションの場合、データベース・サーバーは、暗黙的な XML シリアライズ操作に関する明示宣言を追加しません。 出力データを com.ibm.db2.jcc.DB2Xml タイプとしてキャストし、getDB2Xmlxxx メソッドの 1 つを呼び出す場合は、以下の表のように、JDBC ドライバーはエンコード方式の宣言を追加します。
getDB2Xmlxxx | 宣言内のエンコード指定 |
---|---|
getDB2XmlString | ISO-10646-UCS-2 |
getDB2XmlBytes(String targetEncoding) | targetEncoding によって指定されるエンコード方式 |
getDB2XmlAsciiStream | US-ASCII |
getDB2XmlCharacterStream | ISO-10646-UCS-2 |
getDB2XmlBinaryStream(String targetEncoding) | targetEncoding によって指定されるエンコード方式 |
INCLUDING XMLDECLARATION を指定した明示的 XMLSERIALIZE 関数の場合、データベース・サーバーはエンコード方式を追加し、JDBC ドライバーはそのエンコード方式を変更しません。 データベース・サーバーが追加する明示エンコード方式は UTF-8 エンコード方式です。 アプリケーションが値を取り出す方法によっては、データの実際のエンコード方式が明示的な内部エンコード方式と一致しない場合があります。