$my_var = "1";
$connection = db2_connect ( "*LOCAL", "ISCSC", "ISCSC" );
$strSql = 'CALL LMTLIB.ARTEST(?)';
$stmt = db2_prepare ( $connection, $strSql );
db2_bind_param($stmt, 1, "my_var", DB2_PARAM_INOUT, DB2_CHAR);
$rc = db2_execute ( $stmt );
echo $my_var;
Когда этот блок кода выполняется, $ my_var принимает значение ¦ – ¦
Вызываемая тестовая программа RPGLE возвращает вау
Когда программа изменяется, символы, которые я возвращаю, будут другими ... так что я знаю, что получаю значения из программы. Единственная проблема - как преобразовать эти символы из EBCDIC в ASCII.
редактировать
Я пробовал использовать следующее:
mb_convert_encoding($my_var, "ASCII", "cp037");
mb_convert_encoding($my_var, "ASCII", "EBCDIC");
iconv("cp037", "ASCII", $my_var);
iconv("EBCDIC", "ASCII", $my_var);
Но я получаю эту ошибку: «Неверная кодировка, преобразование из« ebcdic в ascii »не разрешено»
И: «Неверная кодировка, преобразование из« cp037 в ascii »запрещено»