Steek in het duister:sommige van uw databaserijen bevatten niet-ASCII-tekens (bijv. ü, é en dergelijke). Uw databaseverbinding is ingesteld op latin1
, dus de gegevens zijn niet UTF-8-gecodeerd. json_encode
vereist UTF-8-gecodeerde gegevens. Als u genoeg rijen ophaalt, zullen er rijen zijn met dergelijke niet-UTF-8-gegevens en json_encode
mislukt. Met weinig rijen raak je die problematische rijen niet.
Test dit door echo json_last_error_msg();
. uit te voeren na json_encode
.
Stel uw databaseverbinding in op UTF-8. Kijk hier hoe u dit doet:UTF-8 helemaal
De reden waarom uw browser klaagt over ongeldige JSON wanneer u een print_r
. opneemt is eenvoudig:omdat PHP dan veel rommel produceert die geen JSON is, die de browser niet als JSON kan decoderen.