PHP T-SQL函数返回奇怪的变音行为/ bug?

时间:2014-11-25 10:27:30

标签: php sql-server function

当通过php运行T-SQL函数时,我注意到一种奇怪的行为,并且认为有人可以帮我解决问题。

我有一个函数,从通过php脚本运行的数据库中获取客户端x的前10个业务,它返回3个简单列(业务名称,sum和nro),以便在站点上显示php。现在这里变得奇怪了。

客户A在退货中有此业务:KeskinäinenTyöeläkevakuutusyhtiöElo。当函数通过PHP运行时,它会得到null作为整个结果(所以我没有得到任何数据),如果这个值在返回的值中。在SQL服务器上运行时,一切正常。

和客户B在退货中有这项业务:KeskinäinenEläkevakuutusyhtiöIlmarinen。无论php和服务器上是否包含此值,客户端B都会获取所有数据。

现在我的第一个想法是好的,其余的值有问题,但没有:

客户A值KeskinäinenTyöeläkevakuutusyhtiöElo,-xxxxx.xx,2
客户B有KeskinäinenEläkevakuutusyhtiöIlmarinen,-xxxxx.xx,1

两者都具有可接受的值,最后和最后一个值是其他业务可能更高的金额值,并且不会出现任何问题。

现在我尝试了一个where子句,发现它们在php端确实存在元差异。当我在php代码上添加where liikesuhde not like 'Keskinä%'时,它会“过滤”KeskinäinenTyöeläkevakuutusyhtiöElo,但会离开KeskinäinenEläkevakuutusyhtiöIlmarinen;在SQL服务器端,两者的行为是相同的(两者都被过滤掉)这表明ä具有元差异。

where liikesuhde not like 'Keskin%'过滤掉两者。

我已经检查了名称所在的表,但它们看起来相同(两者都是ä和ö),并且在sql函数或php端都没有处理名称,所以我猜php看到了关于ä的不同内容,但我不知道如何找出它们。

PS。我已经尝试在PHP上调用函数时更改sum和nro值(所有值为1)是相同的,但只要客户端的名称出现,我就不会得到任何结果。

0 个答案:

没有答案