$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が値を持つASCIIにEBCDIC変換| - |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を呼び出す...私はメッセージを返す:artestのプロシージャlmtlibは、指定されたパラメータで見つかりませんでした。 – adam
パラメータは正確に一致する必要があります。私が投稿したプロシージャは、あなたが投稿したPHPコードによって呼び出されたときに動作します。私は手順でvarcharを使い、RPGを変えました。ここでV5R4。 –
私たちがCHARACTER(4)を実行し、VARCHAR(4)を実行した場合、それは私が見ている問題を引き起こすでしょうか?私のディレクターは私に私がこれを私自身でテストできるようにプロシージャを作成するためのアクセス権を得ています。そして、私はより良いフィードバック/応答を提供することができます:) – adam