JSON 上的字符集不显示特殊字符,取而代之的是 NULL

Charset on JSON is not showing special characters, getting NULL instead

我得到一个带有 JSON 的查询结果,但包含特殊字符,它显示 NULL 而不是正确的结果。我已经尝试 array_map('utf8_encode') 但我仍然遇到同样的错误。

代码:

if (mysql_num_rows($result) > 0) {
    // looping through all results
    // products node
   $response["reserves"] = array();

    while ($row = mysql_fetch_array($result)) {
        // temp user array
        $product = array();
        array_map('utf8_encode', $product);
        $product["id_reserve"] = $row["id_r"];
        $product["description"] = $row["d_reserve"];
        // push single product into final response array
        array_push($response["reserves"], $product);
    }
    // success
    $response["success"] = 1;

    // echoing JSON response
    echo json_encode($response);

(代表 OP 发布)。

要设置数组值 utf-8,函数 utf8_encode 必须放在 $row 之前。结果是:

$product["description"] = utf8_encode($row["d_reserve"]);