ñ返回null - jQuery和PHP

时间:2012-08-14 12:10:03

标签: php jquery json utf-8

我使用jQuery在PHP中运行一个函数来从数据库中获取数据。

        $.ajax({
            url: 'service.php',
            data: { functie: type, param: radiobutton },
            dataType: 'json',
            success: function (data) {}
        });

一切正常。除了具有特殊字符的字符串在succes函数中返回null。例如:ñ

这里的答案解释如下: Special characters break json returned to jQuery

但它对我不起作用。

在php中我试过:

$result = mysql_query("SELECT * FROM wines");
$array = array();

while($row = mysql_fetch_assoc($result)){
    $array[]=htmlentities($row);
}

谁知道如何确保一切都以良好的方式回归?

1 个答案:

答案 0 :(得分:1)

在你的while语句中,你在数组上使用htmlentities,而不是字符串(数组中的每个键都是数据库中的一列)。

您可以执行以下任一操作:

使用array_map

while($row = mysql_fetch_assoc($result)){
    $array[] = array_map("htmlentities", $row);
}

或更改你的while循环:

while($row = mysql_fetch_assoc($result)){
    foreach ($row as $key => $value) {
        $row[$key] = htmlentities($value);
    }
    $array[] = $row;
}