Php 为什么json_encode返回空?

Php 为什么json_encode返回空?,php,json,ajax,is-empty,jsonresult,Php,Json,Ajax,Is Empty,Jsonresult,我的脚本有一个问题,它通过AJAX从数据库请求记录,然后通过JSON返回。它在我的本地主机上正常工作,但当我将其上载到服务器时,它不工作 我阅读了有关emptyjson_encode()result的主题,发现类似的问题也适用于许多人,数据编码也有解决方案。但是我的所有文件、表和数据通常都是本地和远程服务器上的UTF-8编码 我的PHP脚本所做的就是从数据库中请求记录(我使用PDO库,并将数据库编码设置为UTF-8-设置名称“utf8”),然后抛出循环,它使用数据库中的数据生成HTML标记,然后

我的脚本有一个问题,它通过AJAX从数据库请求记录,然后通过JSON返回。它在我的本地主机上正常工作,但当我将其上载到服务器时,它不工作

我阅读了有关empty
json_encode()
result的主题,发现类似的问题也适用于许多人,数据编码也有解决方案。但是我的所有文件、表和数据通常都是本地和远程服务器上的UTF-8编码

我的PHP脚本所做的就是从数据库中请求记录(我使用PDO库,并将数据库编码设置为UTF-8-
设置名称“utf8”
),然后抛出循环,它使用数据库中的数据生成HTML标记,然后以数组形式返回
json_encode($result)

如果我尝试
打印($result)
并在浏览器
开发工具中查看它们,我将看到包含正常数据的正确数组。但是如果我将它们与
json\u encode($result)
一起返回,结果将是空的

我的结果数组中还有俄语文本

结果数组示例:

[data] => Array
    (
        [0] => Array
            (
                [0] => <input type="checkbox" name="id[]" value="1">
                [1] => 1
                [2] => Английский стол
                [3] => <span title='Вращающийся английский стол с выдвижными ящиками.Англия, 1900-е гг.Красное дерево, мягкая кожа диска, передвигается на бронзовых колесиках.Диаметр 91, высота 71 см.'>Вращающийся английский стол с выдвижными ящиками.<br>Англия, 1900-е гг.<br>Красное дерево, мягкая кожа диска, перед...</span>
                [4] => 250&euro;
                [5] => sss
                [6] => 
                [7] => <span class="label label-sm label-success">Опубликован</span>
                [8] => <a href="/jc_adm/?p=edit_product&id=1" class="btn btn-xs default btn-editable"><i class="fa fa-pencil"></i> Редактировать</a>
            )

        [1] => Array
            (
                [0] => <input type="checkbox" name="id[]" value="2">
                [1] => 2
                [2] => Старинный раскладной стол
                [3] => <span title='Оригинальный стол 1800 г. вторая половина.Изогнутые ножки, резная опора, натуральное дерево.Высота 125 Ширина 56 Высота 78 см.'>Оригинальный стол 1800 г. вторая половина.<br>Изогнутые ножки, резная опора, натуральное дерево.<br>Высота 125 Ширин...</span>
                [4] => 210&euro;
                [5] => sss
                [6] => 
                [7] => <span class="label label-sm label-success">Опубликован</span>
                [8] => <a href="/jc_adm/?p=edit_product&id=2" class="btn btn-xs default btn-editable"><i class="fa fa-pencil"></i> Редактировать</a>
            )

        [2] => Array......
试一试

检查第二个参数


检查你的json编码的第二个参数,如果你在PHP配置中启用它,你会得到通知。还有另一种方法可以确定json_编码是否失败,请尝试获取

此错误消息可能有助于确定编码出了什么问题

编辑

类似的问题已经得到了回答:


您的json_编码似乎失败了,如果您在PHP配置中启用了它,您就会收到通知。还有另一种方法可以确定json_编码是否失败,请尝试获取

此错误消息可能有助于确定编码出了什么问题

编辑

类似的问题已经得到了回答:


试试这个,它肯定会有用的

function utf8ize($d) {
  if (is_array($d)) {
     foreach ($d as $k => $v) {
       $d[$k] = utf8ize($v);
     }
  } else if (is_string ($d)) {
     return utf8_encode($d);
  }
   return $d;
}
然后打电话

echo json_encode( utf8ize( $array ) );

试试这个,它肯定会有用的

function utf8ize($d) {
  if (is_array($d)) {
     foreach ($d as $k => $v) {
       $d[$k] = utf8ize($v);
     }
  } else if (is_string ($d)) {
     return utf8_encode($d);
  }
   return $d;
}
然后打电话

echo json_encode( utf8ize( $array ) );

你好,吉加!是的,我试过这么做,但结果是一样的(你好,Jigar!是的,我试过这么做,但结果是一样的。)(你好,Arun!它返回给我
int 5
,在本地主机上返回相同的结果。但在本地主机上,它的工作方式与远程服务器不同。:)(你好,阿伦!这是返回给我的
int5
,在本地主机上也是如此。但在本地主机上,它的工作方式与远程服务器不同:(是的,这很好,但是我们需要硬编码此函数的原因不清楚。PHP开发人员应该将此选项嵌入命令的参数中!是的,这很好,但是我们需要硬编码此函数的原因不清楚。PHP开发人员应该将此选项嵌入命令的参数中!