我需要从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 '%±%'
但我需要获取所有数据,包括包含±
...
答案 0 :(得分:0)
我找到了一种解决方法:在SELECT查询中动态替换特殊字符:
$query="SELECT REPLACE(AVDES3,'±','+/-') as AVDES3 FROM PFDATA.ME01ITEM";
如果有更优雅的,请随时分享。