hdsccnvedt(文字コード変換用マッピングテーブルの編集)
- 〈このページの構成〉
機能
文字コード変換用マッピングテーブルを編集します。外字の変換方法を変更するときに使うコマンドです。
hdsccnvedtコマンドには,次の機能があります。
-
文字コード変換用マッピングテーブルの更新
文字コード変換用マッピングテーブルに定義されている外字の変換方法を変更します。
-
文字コード変換用マッピングテーブルの参照
文字コード変換用マッピングテーブルに定義されている外字の変換方法を出力します。この出力結果を利用して,文字コード変換用マッピングテーブルを更新できます。
-
外字マッピングファイルの移行
Datareplicator 05-02以前で作成した外字マッピングファイルの内容を,文字コード変換用マッピングテーブルに反映します。
形式
- 文字コード変換用マッピングテーブルの更新
hdsccnvedt -w -f 変換元文字コードセット -t 変換先文字コードセット -d 変換定義ファイル名
- 文字コード変換用マッピングテーブルの参照
hdsccnvedt -r -f 変換元文字コードセット -t 変換先文字コードセット -o 出力ファイル名 〔-s 出力開始コード〕 〔-e 出力終了コード〕
- 外字マッピングファイルの移行
hdsccnvedt -c -f 変換元文字コードセット -t 変換先文字コードセット -g 外字マッピングファイル名
オプション
-
-w
文字コード変換用マッピングテーブルを更新するときに指定します。
このオプションによって,文字コード変換用マッピングテーブル中の外字に相当する範囲の文字コードの対応を変更できます。
-
-r
文字コード変換用マッピングテーブルを参照するときに指定します。
-
-c
既存の外字マッピングファイルの定義内容を,文字コード変換用マッピングテーブルに移行するときに指定します。Datareplicator 05-02以前で作成した外字マッピングファイルの内容を,文字コード変換用マッピングテーブルに反映します。
-
-f 変換元文字コードセット
変換元の文字コードセットを次のニモニックで指定します。
eck78:EBCDIC/KEIS78
eck83:EBCDIC/KEIS83
ekk78:EBCDIK/KEIS78
ekk83:EBCDIK/KEIS83
sjis:JIS8/シフトJIS
euc:EUC
- ucs2:UCS2※
-
注※ 文字コードセットがUTF-8の場合は,UCS2コードセットを指定してください(UTF-8の場合,DatareplicatorのマッピングテーブルとしてはUCS2コードセットとして管理しています。UCS2からUTF-8へのエンコードは実際のコード変換時に実行します)。
-
-t 変換先文字コードセット
変換先の文字コードセットを次のニモニックで指定します。
ekk83:EBCDIK/KEIS83
sjis:JIS8/シフトJIS
euc:EUC
- ucs2:UCS2※
-
注※ 文字コードセットがUTF-8の場合は,UCS2コードセットを指定してください(UTF-8の場合,DatareplicatorのマッピングテーブルとしてはUCS2コードセットとして管理しています。UCS2からUTF-8へのエンコードは実際のコード変換時に実行します)。
-fオプションと-tオプションで指定できる文字コードセットの組み合わせを次に示します。
-fオプション
-tオプション
eck78
eck83
ekk78
ekk83
sjis
euc
ucs2
eck78
×
×
×
×
○
○
○
eck83
×
×
×
×
○
○
○
ekk78
×
×
×
×
○
○
○
ekk83
×
×
×
×
○
○
○
sjis
○
○
○
○
×
○
○
euc
○
○
○
○
○
×
○
ucs2
×
×
×
×
○
○
×
- (凡例)
-
○:指定できます。
×:指定できません(指定した場合は,KFRB04104-Eメッセージが出力されます)。
-
-d 変換定義ファイル名
〜〈1〜127バイトのパス名〉
文字コード変換用マッピングテーブルの更新内容を定義した変換定義ファイル名を,絶対パス名又は相対パス名で指定します。相対パス名で指定する場合は,カレントディレクトリからの相対パスとして認識されます。
変換定義ファイルの定義内容については,「変換定義ファイルの形式」を参照してください。
-
-o 出力ファイル名
〜〈1〜127バイトのパス名〉
文字コード変換用マッピングテーブルの参照結果を出力するファイル名を,絶対パス名又は相対パス名で指定します。相対パス名で指定する場合は,カレントディレクトリからの相対パスとして認識されます。
文字コード変換用マッピングテーブルの参照結果は,変換定義ファイルの定義フォーマットと同じ形式で,変換元文字コードの昇順に出力ファイルに対して出力します。
出力対象は変換先コードが定義されているコードだけとし,変換先が定義されていないコードについては出力されません。
-
-s 出力開始コード
-rオプションを指定したときだけ指定できるオプションで,参照を開始する変換元文字コードを16進数値文字列で指定します。
このオプションを省略した場合は,文字コード変換用マッピングテーブルの先頭から参照を開始します。
出力開始コードは,次の規則に従って指定してください。
-
1バイトコードは2文字,2バイトコードは4文字,3バイトコードは6文字(変換元文字コードセットがEUC,又はEUC-HJの場合だけ)で指定してください。それ以外の文字数の場合はエラーになります。
-
変換元文字コードセットがEUC,又はEUC-HJの3バイトコードを指定するときは,先頭を必ず8fにしてください。それ以外の文字を指定した場合はエラーになります。
-
-eオプションで指定した出力終了コードよりも小さい値を指定してください。出力終了コードよりも大きい値を指定した場合はエラーになります。
-
-
-e 出力終了コード
-rオプションを指定したときだけ指定できるオプションで,参照を終了する変換元文字コードを16進数値文字列で指定します。
このオプションを省略した場合は,文字コード変換用マッピングテーブルの終端まで参照します。
出力終了コードは,次の規則に従って指定してください。
-
1バイトコードは2文字,2バイトコードは4文字,3バイトコードは6文字(変換元文字コードセットがEUCの場合だけ)で指定してください。それ以外の文字数を指定した場合はエラーになります。
-
3バイトコードを指定するときは,先頭を必ず8fにしてください。それ以外の文字を指定した場合はエラーになります。
-
-sオプションで指定した出力開始コードよりも大きい値を指定してください。出力開始コードよりも小さい値を指定した場合はエラーになります。
-
-
-g 外字マッピングファイル名
〜〈1〜127バイトのパス名〉
移行対象とする外字マッピングファイル名を絶対パス名又は相対パス名で指定します。相対パス名で指定する場合は,カレントディレクトリからの相対パスとして認識されます。
変換定義ファイルの形式
変換定義ファイルには,文字コード変換用マッピングテーブル中の更新したい変換元文字コードと変換先文字コードを次の形式で定義します。
変換元文字コード,変換先文字コード
変換定義ファイルは,次の規則に従って指定してください。
-
1行に1エントリで定義してください。
-
変換元文字コード及び変換先文字コードは,16進数値文字列(a〜fについては,大文字と小文字のどちらでも指定できます)で指定してください。
-
#以降はコメントとみなされます。変換の定義の後にコメントを書く場合は,定義と#の間に一つ以上の空白文字,又はタブを入れる必要があります。
-
文字コードの指定は,1バイトコードは2文字,2バイトコードは4文字,3バイトコードは6文字(変換元文字コードセットがEUC,又はEUC-HJの場合だけ)で指定してください。それ以外の文字数を指定した場合はエラーになります。
-
3バイトコードを指定するときは,先頭を必ず8fにしてください。それ以外の文字を指定した場合はエラーになります。
-
変換先文字コードの指定以降に出現する最初の空白文字以降は無視されます。
-
各コードの前後にある空白文字及びタブは無視されます。
規則
-
指定できる外字の範囲は,次のとおりです。
-
KEISコード:第1バイトが41〜A0,第2バイトがA1〜FE
-
シフトJISコード:第1バイトがF0〜FC,第2バイトが40〜FC(ただし,7Fを除く)
-
EUC:第1バイトが8F,第2バイトがA1〜FE,第3バイトがA1〜FE
-
UCS2:第1バイトがE0〜F8,第2バイトが00〜FF
-
-
このコマンドは,スーパユーザで実行してください。
-
同じオプションを複数指定した場合は,オプション指定エラーになります。
-
変換元と変換先に同じ文字コードセットを指定した場合はエラーになり,文字コード変換用マッピングテーブルは更新されません。
-
コマンドの実行途中でエラーが発生した場合は,文字コード変換用マッピングテーブルは更新されません。
-
文字コード変換用マッピングテーブルが更新された場合,更新後の文字コード変換用マッピングテーブルは,ユーザ作成の文字コード変換用マッピングテーブルとして,インストールディレクトリ/lib/usermapに格納されます。文字コード変換用マッピングテーブルは削除しないでください。インストールディレクトリ/lib/usermap下に文字コード変換用マッピングテーブルがない場合には,Datareplicatorは文字コードの変換規則に従って外字コードも変換します。Datareplicatorの文字コードの変換規則については,「4.3.5 文字コードの対応の設計」を参照してください。
-
データ連動の開始後に,文字コード変換用マッピングテーブルを更新した場合,更新によってマッピングキーの文字コードの変換結果が異なるようなときには,反映処理が正常に実行できなくなります。このため,データ連動開始後に文字コード変換用マッピングテーブルを更新する場合には,十分な注意が必要です。
-
外字マッピングファイルからの移行時(-cオプション)に指定できる変換元及び変換先文字コードセットの組み合わせを次の表に示します。これ以外の組み合わせを指定した場合はエラーになります。
表7‒11 外字マッピングファイルからの移行時(-cオプション)に指定できる変換元及び変換先文字コードセットの組み合わせ 変換元文字コードセット
変換先文字コードセット
EBCDIC/KEIS78
EBCDIC/KEIS83
EBCDIK/KEIS78
EBCDIK/KEIS83
JIS8/シフトJIS
JIS8/シフトJIS
EBCDIC/KEIS78
EBCDIC/KEIS83
EBCDIK/KEIS78
EBCDIK/KEIS83
EUC
EUC
JIS8/シフトJIS