Php Ajax响应是统一编码的

Php Ajax响应是统一编码的,php,ajax,json,angularjs,unicode,Php,Ajax,Json,Angularjs,Unicode,我有一个angular应用程序,我提出了一个ajax请求。在响应中,我应该得到真/假值,但我得到的是unicode/u0001或/u0000格式的值,包括撇号。代码如下: 角度请求/响应 PHP响应 这里的响应是正确的,在我进行var_转储时给出true和false 但我在json_编码并将响应发送回angular之后,在控制台中打印响应时,它以unicode给出 [{"id":"1","status":"\u0001","description":"\u2019"}] 为什么会这样?问题是当

我有一个angular应用程序,我提出了一个ajax请求。在响应中,我应该得到真/假值,但我得到的是unicode/u0001或/u0000格式的值,包括撇号。代码如下:

角度请求/响应

PHP响应

这里的响应是正确的,在我进行var_转储时给出true和false

但我在json_编码并将响应发送回angular之后,在控制台中打印响应时,它以unicode给出

[{"id":"1","status":"\u0001","description":"\u2019"}]
为什么会这样?问题是当我把它印在标签里的时候一切都好了。但是我需要得到anjular ajax响应的true-false,以便在ng repeat中直接过滤一些数据。只有当我在web服务器上托管应用程序并且在本地运行正常时,才会发生这种情况


我也尝试过使用JSON.parse和angular.fromJson,但没有成功。我不能简单地用unicode验证true-false。

我用

json_encode($return, JSON_UNESCAPED_UNICODE)
而不是

json_encode($return)

从技术上讲,这是正确的。true通常相当于/可转换为整数1,也就是unicode字符码0001。我知道它是正确的,但现在这不是我想要的,对吗?我也尝试过使用angular.fromJson和JSON.parse,但没有给出正确的答案。我试过你的代码,它对我来说很好。控制台日志数据;打印[Object{id=1,status=true,description=George's world}]。您确定这不是服务器端问题吗?若你们看FireBug中的http响应,它是正确的吗?我认为这也是服务器端的问题。但我怎样才能具体找到原因呢?因为我从数据库中得到了正确的值。仅当我在服务器中使用json_encode时,这种情况才会发生,甚至在我的本地环境中也不会发生
json_encode($return, JSON_UNESCAPED_UNICODE)
json_encode($return)