htmlentities不适用于json编码

Jay*_*len 1 php mysqli

我不知道这是怎么回事,但是htmlentities()函数不起作用!

这就是我所做的

(底部代码正常工作,但htmlentities()不会将引号转换为HTML代码!例如"应该更改为某些html5代码!

$term = "'" . addslashes($_GET['search_term']) . "%'";
if(!isset($term{2})){
    exit();
}

$query = $db->query('SELECT customerID, fullName, dID, birthYear, homeAddress, ID, DATE_FORMAT(idIssue, "%d-%m-%Y") AS idIssue, DATE_FORMAT(idExp, "%d-%m-%Y") AS idExp, phone
                     FROM customers WHERE (fullName LIKE '.$term.' ) LIMIT 0,10');



while( $row = $query->fetch_assoc()){

    foreach($row as $key => $value){
        $arr[$key] = htmlentities(stripslashes($value), ENT_QUOTES);
    }
    $json[] = $arr;
}

echo json_encode($json);
Run Code Online (Sandbox Code Playgroud)

edw*_*dmp 5

传递给json_encode()的值必须是UTF-8编码数据.因此,在运行之前json_encode,请使用utf8_encode.

例:

 $arr[$key] = htmlentities(stripslashes(utf8_encode($value)), ENT_QUOTES);
Run Code Online (Sandbox Code Playgroud)