0

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

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

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

这里解释了这个问题的答案: 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);
}

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

4

1 回答 1

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;
}
于 2012-08-14T12:17:34.693 回答