5.3.10 unicodeオプション(Windows/HP-UX/AIX /Linux(x86/x64)版だけ)
(1) 機能
TP1/COBOLアクセスの,文字列データ変換時のエンコードをUTF-8およびUTF-16で行うことを指定します。
(2) 指定方法
(a) Windows版
SET CBLJ2TP1OPT=unicode( no | big | little )
unicodeオプション未指定時は,noとして扱います。
(b) HP-UX/AIX版
unicodeオプションは引用符(")で囲んで指定します。
CBLJ2TP1OPT="unicode( no | big | little )" export CBLJ2TP1OPT
unicodeオプション未指定時は,noとして扱います。
(c) Linux(x86/x64)版02-10以降
[usrconf.cfg指定形式]
add.jvm.arg=-Dtp1cobol.option=unicode( no | big | little )
unicode オプション未指定時は,little として扱います。
(3) 指定値の動作
unicode(no):文字列データをencodeオプション指定にしたがってエンコードする。
- unicode(big/little):文字列データをUTF-8またはUTF-16でエンコードする。
-
英数字項目はUTF-8でエンコードします。
日本語項目は,big指定時はUTF-16BEで,little指定時はUTF-16LEでエンコードします。
(4) 注意事項
-
このオプションにbigまたはlittleを指定した場合,encodeオプションの指定は無効となります。
-
日本語項目として扱う場合は,「日本語項目を英数字項目として扱う。」チェックボックスをオフにして,TP1/COBOLアクセス用Beanを生成してください。
(5) エンコード対象となる項目
-
COBOL SPP/MHPに渡す引数で次に示す項目が対象となります。
-
英字項目
-
英数字項目
-
英数字編集項目
-
日本語項目
-
日本語編集項目
-
-
以下は英数字項目で受け渡すことから,UTF-8でエンコードします。
-
receiveメソッドの引数buff
-
receive2メソッドの引数buff
-
sendメソッドの引数buff
-
(6) 設定するデータの長さが項目長よりも短い場合に補う文字
英数字項目:UTF-8の半角空白(0x20)を補います。
- 日本語項目:japaneseオプションの指定により,補う文字が異なります。big指定時は以下の文字を補います。
-
japanese(1):UTF-16の半角空白(0x0020)を補います。
japanese(2):UTF-16の全角空白(0x3000)を補います。