1

これで何が起こっているのかわかりませんが、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);
4

1 に答える 1

6

json_encode() に渡す値は、UTF-8 でエンコードされたデータでなければなりません。したがって、 を実行する前にjson_encode、 を使用してutf8_encodeください。

例:

 $arr[$key] = htmlentities(stripslashes(utf8_encode($value)), ENT_QUOTES);
于 2013-02-01T03:51:56.237 に答える