スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

17.12.2 文字コード変換機能

Javaプログラム内では,文字コードはUnicodeで扱うため,JDBCドライバがHiRDBの文字データとUnicodeとの相互文字コード変換をします。この文字コード変換処理で,JDBCドライバはJava仮想マシンが提供するエンコーダ及びデコーダを利用します。このとき,Properties infoのENCODELANGでは,Java仮想マシンが提供するエンコーダ及びデコーダに対して,JDBCドライバが指定する文字セット名称を指定します。

HiRDBの文字コードとJavaの文字セットの対応を表17-20及び表17-21に示します。

表17-20 HiRDBの文字コードとJavaの文字セットの対応(UNIX版の場合)

HiRDBの文字コード 文字セット 備考
sjis
(シフトJIS漢字)
"SJIS" 全角文字に外字を含みます。
ujis
(EUC日本語漢字)
"EUC_JP"
(Japanese EUC)
全角文字に外字を含みません。
chinese
(EUC中国語漢字)
"EUC_CN"
(Simplified Chinese)
全角文字に外字を含みません。
lang-c
(8ビットコード)
"ISO-8859-1"
(ISO Latin-1)
US ASCII及び8ビットコードの場合に使用できます。
UTF-8 UTF-8 なし。
chinese-gb18030
(中国語漢字コード(GB18030))
GB18030 なし。

次に示す方法でProperties infoのENCODELANGを設定している場合,これを優先してエンコーディングします。
  • DriverManager.getConnectionメソッドの引数として渡すProperties infoで設定
  • JdbhDataSource.setEncodLangメソッド,JdbhConnectionPoolDataSource.setEncodLangメソッド,又はJdbhXADataSourceメソッドで設定
上記の方法でENCODELANGを設定していない場合の動作,及び"OFF"を設定した場合の動作については,「17.11.5 setEncodeLang」を参照してください。

注※
EUCコードセット3((8F)16(XXXX)16の3バイトで表現される文字コード)に割り当てられた外字コードは使用できません。

表17-21 HiRDBの文字コードとJavaの文字セットの対応(Windows版の場合)

HiRDBの文字コード 文字セット 備考
sjis
(シフトJIS漢字)
Java仮想マシンの標準エンコードが"MS932"の場合は"MS932"
"MS932"以外の場合は"SJIS"
全角文字に外字を含みます。
UTF-8 UTF-8 なし。

次に示す方法でProperties infoのENCODELANGを設定している場合,これを優先してエンコーディングします。
  • DriverManager.getConnectionメソッドの引数として渡すProperties infoで設定
  • JdbhDataSource.setEncodLangメソッド,JdbhConnectionPoolDataSource.setEncodLangメソッド,又はJdbhXADataSourceメソッドで設定
上記の方法でENCODELANGを設定していない場合の動作,及び"OFF"を設定した場合の動作については,「17.11.5 setEncodeLang」を参照してください。