ClientAccess (iAccess) のデータ転送記述(.TTO または .DTF)の転送記述は
IBM ACS (=Access Client Solutions) の DTFX に移行できるとアナウンスしているが
ご存じのとおり問題が多くて使い物にならない。
これは昨今のIBMソフトウェア製品の品質の問題もあるかも知らないが
元々の CA/400の転送記述が ASCIIコードではなく UNIコードで書かれているせいもある。
UNIコードと言えば UTF-8
かまたは UTF-16
を思い浮かべるが
CA/400の転送記述は、そのどちらでもない、UTF-16LE
というコードで
CCSIDは 1202
である。
UTF-16
のCCSIDは 1200
であり、UTF-8
のCCSIDが 1208
である。
UNIコードといえばWebの世界で圧倒的に普及しているが UTF-8
であるが
IBM は UTF-8
は使わない。
RPG によるUNIコードのサポートも UTF-16
だけである。
今回も UTF16LE (CCSID:1202)
というあまり馴染みのないUNIコードである。
参考までによく知られているコード変換API: QDCXLATE は
UNIコードの変換には使えない。
QDCXLATE はあくまでも EBCDIC と ASCII とのあいだの変換だけである。
UNIX でも使用されている汎用的なコード変換API は
IBM i でも使える iconv というAPIである。
しかし何と IBM i の iconv は CCSID:1202
の変換をサポートしていない。
IBM はこのことに気づいているのだろうか?
CA/400の転送記述を IBM ACS に移行するのは無理に近いようである。