Управление автоматическим c преобразованием из ASCII в EBCDI C через xl c fgets () в USS - PullRequest
2 голосов
/ 16 января 2020

У меня есть приложение в z / OS USS, которое успешно читает файлы EBCDI C (IBM-1047) и ASCII (ISO8859-1), которые помечены любой кодировкой в ​​буферах char[]. При запуске из оболочки среда выполнения C автоматически преобразует содержимое файла в fgets() в EBCDI C для использования программой. Это позволяет сравнивать литералы, изначально закодированные в EBCDI C.

. Однако, когда программа запускается через Jenkins (Java JVM 1.8), автоматическое преобразование c подавляется и fgets() возвращает данные без изменений, поэтому ASCII. Я попытался передать каждую переменную окружения в .profile и /etc/profile пользователя в JVM и убедился, что они находятся в envp.

программы. Кто-нибудь знает, где задокументировано управление этой функцией? или доступно?

1 Ответ

2 голосов
/ 16 января 2020

Один из способов управления автоматическим преобразованием c - _BPXK_AUTOCVT=ON В этой статье подробно описана проблема.

Вот фрагмент:

enter image description here

enter image description here

...