PHP / ODBC / DB2 - 对特殊字符

时间:2018-01-12 18:08:13

标签: php db2 odbc

我需要从DB2表中读取一些数据(在IBM AS400上),然后通过ODBC连接。

在php中,当我到达包含特殊字符segmentation fault的行时,我会收到±

这是有问题的单元格 - 94-A 50G50G-HD (CR) 1.3±.08MM

这是我的PHP代码

$dbname="dbname";
$username="username";
$password="password";
$connection=odbc_connect($dbname, $username, $password);

$query="SELECT AVDES3 FROM PFDATA.ME01ITEM";
$result=odbc_exec($connection, $query);

while (odbc_fetch_row($result)){
    $AVDES3=odbc_result($result,'AVDES3');
}

这里的工作是什么?性格逃脱?解码/编码?

不幸的是数据库是只读的,所以我不能做任何改变。

更新

100%它导致问题的±。 此查询返回了结果,但没有得到"分段错误"

SELECT AVDES3 FROM PFDATA.ME01ITEM WHERE AVDES3 NOT LIKE '%±%'

但我需要获取所有数据,包括包含± ...

的行

1 个答案:

答案 0 :(得分:0)

我找到了一种解决方法:在SELECT查询中动态替换特殊字符:

$query="SELECT REPLACE(AVDES3,'±','+/-') as AVDES3 FROM PFDATA.ME01ITEM";

如果有更优雅的,请随时分享。