通过 USS 中的 xlc fgets() 控制从 ASCII 到 EBCDIC 的自动转换

Controlling automatic conversion from ASCII to EBCDIC via xlc fgets() in USS

我在 z/OS USS 上有一个应用程序,它可以愉快地将使用任一编码标记的 EBCDIC (IBM-1047) 和 ASCII (ISO8859-1) 文件读取到 char[] 缓冲区中。当从shell启动时,C运行时会自动将fgets()中的文件内容转换成EBCDIC供程序使用。这允许与 EBCDIC 中本机编码的文字进行比较。

然而,当程序是 运行 通过 Jenkins (Java JVM 1.8) 时,自动转换被抑制并且 fgets() returns 数据不变,所以 ASCII。我已经尝试将用户 .profile/etc/profile 中的每个环境变量提供给 JVM,并验证它们在程序的 envp.

有谁知道这个函数的控件在哪里记录或可用?

控制自动转换的方法之一是_BPXK_AUTOCVT=ON这个article这里描述了更详细的问题。

这是一个片段: