首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php -将ebcdic转换为ascii

php -将ebcdic转换为ascii
EN

Stack Overflow用户
提问于 2012-05-08 13:32:50
回答 4查看 4.6K关注 0票数 0
代码语言:javascript
复制
$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测试程序正在返回wow

当程序改变,我得到的字符是不同的.所以我知道我从程序中得到了价值。唯一的问题是,如何将这些字符从EBCDIC转换为ASCII。

编辑

我曾尝试使用以下方法:

代码语言:javascript
复制
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“的转换是不允许的”

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-08 15:46:23

在语句上,使用与语言匹配的CCSID。对于美国英语来说,是37。示例:

代码语言:javascript
复制
CREATE PROCEDURE buck.phptest(         
 inout parm_inout varchar (5) ccsid 37)
LANGUAGE RPGLE                         
NOT DETERMINISTIC                      
CALLED ON NULL INPUT                   
EXTERNAL NAME buck.phptest             
PARAMETER STYLE GENERAL                
票数 1
EN

Stack Overflow用户

发布于 2014-02-14 17:29:44

这在几个系统(IBM v7r1,PHPVersion5.4.16)上适用于我们:

$ascii_value =iconv(“IBM1047”,"ISO8859-1",$ebcdic_value);// EBCDIC->ASCII转换

票数 2
EN

Stack Overflow用户

发布于 2012-05-08 13:42:33

使用以下PHP函数:

代码语言:javascript
复制
$recoded = recode_string ('EBCDIC..ASCII', $my_var);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10499656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档