$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 的值为 ¦–¦</p>
正在调用的测试 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“”