$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이 값을 가지고 EBCDIC을 ASCII로 변환 | - |PHP -
와우 반환 호출되는 테스트 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);
을하지만 난이 오류가 얻을 : ASCII로 EBCDIC "에서 잘못된 문자 집합 변환을"
"허용되지 않습니다"그리고 "잘못된 문자셋"cp037에서 ascii "로의 변환이 허용되지 않습니다"
ccsid 37을 지정하면 SP를 호출 ... 내가 메시지를 다시 : 프로 시저 lmtlib artest에서 지정된 매개 변수를 찾을 수 없습니다. – adam
매개 변수가 정확히 일치해야합니다. 내가 게시 한 프로시 저는 게시 한 PHP 코드에 의해 호출 될 때 작동합니다. 절차에 varchar를 사용하고 RPG를 다양하게 사용했습니다. 여기서 V5R4. –
그래서 CHARACTER (4)를 수행하고 VARCHAR (4)를 수행하면 문제가 발생합니다. 우리의 디렉터가 프로 시저를 만들 수 있도록 액세스 권한을 부여하여 직접 테스트 할 수 있습니다. 그러면 더 나은 피드백/응답을 제공 할 수 있습니다 :) – adam