5.3.2 codeconvオプション(Windows/HP-UX/AIX版だけ)
- 〈この項の構成〉
(1) 機能
コード変換ライブラリ(Windows版)および日立コード変換(HP-UX/AIX版※)を使用した文字コード変換を行うことを指定します。
- 注※
-
本オプションはHP-UX(PA-RISC)版およびAIX(32)環境だけ有効です。HP-UX(IPF)版およびAIX(64)環境では有効となりません。
(2) 指定方法
(a) Windows版
SET CBLJ2TP1OPT=codeconv( no | yes | UTF-16 )
codeconvオプション未指定時は,noとして扱います。
(b) HP-UX/AIX版
codeconvオプションは引用符(")で囲んで指定します。
CBLJ2TP1OPT="codeconv( no | yes | UTF-16 )" export CBLJ2TP1OPT
codeconvオプション未指定時は,noとして扱います。
yesおよびUTF-16を指定すると,ホスト用文字コード変換を行います。yesの場合はSJIS(MS932)を,UTF-16の場合はUTF-16BEを変換用文字コードとして使用します。
(3) 指定値の動作
codeconvオプションにyesまたはUTF-16を指定した場合,以下の流れで文字コード変換を行います。
(a) setter,send
String(Unicode)−[変換]−>byte配列(SJIS)※1−[codeconvflagに従い変換]※2−>byte配列(EBCDIK/KEIS)
(b) getter,receive,recieve2
byte配列(EBCDIK/KEIS)−[codeconvflagに従い変換]※2−>byte配列(SJIS)※1−[変換]−>String(Unicode)
- 注※1
-
codeconv(UTF-16)指定時,byte配列に格納する文字コードはUTF-16BEです。
- 注※2
-
変換時にCCO_UTF16およびCCO_BIGENDIAN_UTF16オプションを使用します。
(4) 注意事項
-
コード変換ライブラリおよび日立コード変換が組み込まれていない場合,このオプションを指定すると例外が発生します。
-
このオプションにyesおよびUTF-16を指定した場合,codeconvflagオプションに従って文字コード変換を行います。また,encodeオプションおよびunicodeオプションは無効となり,endianオプションはbigが仮定されます。
-
このオプションにnoを指定した場合,codeconvflagオプションは無効となり,文字コード変換は行いません。
-
変換できない文字が指定された場合,setter/getter/receive/receive2/sendメソッドで例外が発生することがあります。
-
このオプションとdccm3オプションを同時に指定した場合,dccm3オプションの指定は無効となります。(Windows版)
-
Bean生成ウィザードまたはBean生成ツールの1/3画面で「日本語項目を英数字項目として扱う。」チェックボックスをオフにして生成した場合の日本語項目と,英数字項目で,日本語データが格納された場合に先頭の機能キャラクタの扱いが異なります。英数字項目の場合は,日本語データの開始を表す機能キャラクタが先頭に挿入されますが,日本語項目の場合は,日本語データの開始を表す機能キャラクタは先頭に挿入されません。日本語データを格納する場合は,英数字項目と日本語項目で格納されるデータが異なることに注意してください。
(5) この指定が有効となる項目
setterおよびgetter時に,このオプションで変換される項目は以下のとおりです。
-
文字列データ(String):英数字項目/英字項目/英数字編集項目/数字編集項目/日本語項目/日本語編集項目
-
10進データ(BigDecimal):外部10進項目
2進項目および内部浮動小数点項目はビッグエンディアン形式として扱われます。ただし,内部浮動小数点項目はホスト上で使用できる形式にはなりませんので,使用しないでください。
また,receive/receive2/sendメソッドの引数に指定するメッセージもこの変換を行います。