$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 "не е разрешено"