COPY文のDISJOINING/JOINING指定によって日本語利用者語の置き換えを指示しているのですが、置き換えられません。

COPY文のDISJOINING/JOINING指定によって日本語利用者語の置き換えを指示しているのですが、置き換えられません。 ソースはWindows(シフトJIS)で作成したものをコード変換して、ロケールUTF-8(Unicode)環境で翻訳しています。
DUPCHAR(EXT)を指定して、再翻訳してください。
COPY文のDISJOINING/JOINING指定では、日本語利用者語の場合、「JIS非漢字の負号」が分離符と認識されます。Unicodeでは、見た目で「負号」と識別できる以下のコードが2つ割り振られています。
  • U+2212 「MINUS SIGN」(UTF-8表現ではX"E28892")
  • U+FF0D 「FULLWIDTH HYPHEN-MINUS」(UTF-8表現ではX"EFBC8D")

NetCOBOLでは分離符として、上記の「MINUS SIGN (X"E28892")」を採用しています。
このため、「X"EFBC8D"」だった場合は、意図したとおり動作しませんが、翻訳オプションDUPCHARによって、変更することが可能です。
  • DUPCHAR(STD): X"E28892" (省略値)
  • DUPCHAR(EXT): X"EFBC8D"
このような場合は、DUPCHAR(EXT)を指定して翻訳してください。なお、コード変換にCharset Managerを使用する場合は、変換テーブルを用いて変更指示しない限り、「U+FF0D」が採用されます。
製品・サービス情報
対象製品NetCOBOL
プラットフォームSolaris, Linux x86, Linux Intel64
アンサー種別 設計/開発
このページの先頭へ