7.6.4 文字コードの変換
Javaプログラムでは,文字コードはUnicode(UTF-16)で扱うため,JDBCドライバがHADBの文字データとUnicode(UTF-16)との相互文字コード変換をします。この文字コード変換処理で,JDBCドライバはJava仮想マシンが提供するエンコーダを利用します。
HADBの文字データとUnicode(UTF-16)との相互文字コード変換の流れを次の図に示します。
HADBとの文字データのやり取りの際,Java仮想マシンのエンコーダに対して,JDBCドライバが文字セット名称を指定します。このとき,HADBサーバの文字コードUnicode(UTF-8)を取得し,それに相当する文字セット名称にします。
HADBサーバの文字コードに対応する,Java仮想マシンのエンコーダに対して指定する文字セット名称を次の表に示します。
項番 |
HADBサーバの文字コード (環境変数ADBLANGに指定した文字コード) |
Java仮想マシンのエンコーダに指定する文字セット名称※ |
---|---|---|
1 |
Unicode(UTF-8)(UTF8) |
UTF-8 |
2 |
Shift-JIS(SJIS) |
Windows-31j(MS932) |
- 注※
-
Java仮想マシンのエンコーダに表中の文字セット名称が指定されるのは,HADBサーバとのコネクション確立後になります。
コネクション確立前は,Java仮想マシンのデフォルトの文字セットで文字コード変換します。