他社ベンダ文字コード系を変換することができます。すべての2バイトの文字コードが変換対象となります。
他社ベンダ文字コード系の変換は、変換元および変換先のキーワード値にCDS_USR1/CDS_USR2を指定して行います。キーワード値については、“2.2 文字コードの種類”を参照してください。
CDS_USR1とCDS_USR2の2バイトの文字コードの変換対応定義を記述した制御文ファイルを作成し、文字コード変換をカスタマイズすることで、他社ベンダ文字コード系の変換が可能となります。
制御文ファイルについては、“2.7.2 文字コード変換カスタマイズ”を参照してください。
Charset Managerでは、以下の他社ベンダ文字コード系の変換を行うための制御文ファイルのサンプルをご提供します。
IBM漢字コード系
KEIS(日立漢字コード系)
JIPS(NEC漢字コード系)
ユーザ独自の対応定義を行いたい場合(サンプル以外の変換を行いたい場合)は、制御文ファイルに対応定義を追加してください。
制御文ファイルのサンプルを使用して、他社ベンダ文字を変換する手順を以下に示します。
1)相互変換する文字コード系の組み合わせを選択する
相互変換できる文字コード系の組み合わせは、以下のとおりです。
IBM | KEIS | JIPS | SJIS(MS) | S90 | JEF | UCS2 | |
---|---|---|---|---|---|---|---|
IBM | - | ○ | ○ | ○ | ○ | ○ | ○ |
KEIS | ○ | - | ○ | ○ | ○ | ○ | ○ |
JIPS | ○ | ○ | - | ○ | ○ | ○ | ○ |
2)文字コード変換テーブルを作成する
文字コード変換カスタマイズ機能を使用して、文字コード変換テーブルを作成します。
各文字コードの変換対応を定義するための制御文ファイルと、未定義文字の置き換え文字の文字コードを16進表記で指定してください。
制御文ファイルは、以下のディレクトリに格納されています。
[Charset Managerのインストールディレクトリ]\wconv\ctl\
/etc/opt/FSUNadj/wconv/bin/ctl
CDS_USR1 | CDS_USR2 | ファイル名 |
---|---|---|
IBM | KEIS | ibmkeis.ctl |
KEIS | JIPS | keisjips.ctl |
JIPS | SJIS(MS) | jipsms.ctl |
未定義文字の置き換え文字のデフォルトは、アンダースコア("_")です。
各コード系のアンダースコアの文字コードは、以下のとおりです。
コード系 | 置き換え文字 |
---|---|
IBM | 426d |
例
IBMコード系とSJIS(MS)コード系で相互変換する場合
wconvcust -p ctl\ibmms.ctl -repchar_usr1 426d -repchar_usr2 8151 -ov 0
repchar_usr1には、“表B.1 各文字コード系の組み合わせで使用する制御文ファイル名”でCDS_USR1の列にある文字コード系の置き換え文字を指定します。repchar_usr2には、CDS_USR2の列にある文字コード系の置き換え文字を指定します。
3)文字コード系を指定する
wconv_open関数、またはwconv_char_init関数で、変換元文字コード系と変換先文字コード系に、CDS_USR1 と CDS_USR2 の組み合わせを指定します。
各コード系の組み合わせで、どちらが CDS_USR1 または CDS_USR2 になるのかは、“表B.1 各文字コード系の組み合わせで使用する制御文ファイル名”を参照してください。
例
IBMコード系からSJIS(MS)コード系へ変換する場合
wconv_char_init( CDS_USR2,CDS_USR1 );
例
SJIS(MS)コード系からIBMコード系へ変換する場合
wconv_char_init( CDS_USR1,CDS_USR2 );
注意
拡張データ変換機能を使用して他社ベンダ文字コード系の変換を行う場合、同一システム上で扱える他社ベンダ文字コード系は固定です。他社ベンダ文字コード系を変換するための文字コード変換テーブルは1システムに1組のため、最初に決定した二つのコード系の相互変換しかできません。
変換する他社ベンダ文字コード系を変更する場合は、手順の1)~3)を再度実行する必要があります。
拡張データ変換機能の他社ベンダ文字コード系の変換を行う場合は、すべての2バイトの文字コードが変換対象となります。ただし、標準で添付されているサンプルの制御文ファイルには、変換対応が定義されていない文字コードもあります。変換対応が定義されていない文字コードを変換するためには、制御文ファイルへ変換対応を追加してください。詳細は、“2.7.2 文字コード変換カスタマイズ”を参照してください。
提供されているサンプル制御文ファイル(jipsjef.ctl)では、JIPS-JコードとJEFコードとの変換対応を定義しています。この制御文ファイルのJIPS-JコードをJIPS-Eコードに変えて、文字コード変換テーブルを作成することで、JIPS-EコードとJEFとの変換を行うことが可能となります。
KEIS、JIPSのシフトコードを、JEFのシフトコードに変換することはできません。シフトコードは変換できないためNULLに変換されます。