通过 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这里描述了更详细的问题。
这是一个片段:
我在 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这里描述了更详细的问题。
这是一个片段: