17.13 文字コード変換機能
Javaプログラム内では,文字コードはUnicodeで扱うため,JDBCドライバがHiRDBの文字データとUnicodeとの相互文字コード変換をします。この文字コード変換処理で,JDBCドライバはJava仮想マシンが提供するエンコーダを利用します。
HiRDBの文字データとUnicodeとの相互文字コード変換の流れを次の図に示します。
|
HiRDBとの文字データのやり取りの際,Java仮想マシンのエンコーダに対して,JDBCドライバが文字セット名称を指定します。このとき,HiRDBサーバの文字コードを取得し,それに相当する文字セット名称にします。また,接続時のプロパティENCODELANGやsetEncodeLangメソッドによって文字セット名称が指定されている場合は,指定された文字セット名称が優先的にJava仮想マシンのエンコーダに対して指定されます。そのため,プロパティENCODELANGやsetEncodeLangメソッドにHiRDBサーバの文字コードと対応しない文字セット名称を指定した場合,文字コード変換に不正が生じます。