Buongiorno a tutti!
Ho preso uno spazio su Altervista e dopo aver caricato il mio piccolo sito con creazione del DB mi trovo a fronteggiare un problema a cui non trovo soluzione.
Come da titolo il problema è nella funzione json_encode().
Utilizzo in una pagina una funzione $get che preleva dei dati dal DB tramite una pagina php.
In questa pagina dopo la query al DB codifico l'array con la funzione json_encode() per poi elaborarlo nella funzione inziale jQuery.
E qui si presenta il problema, se un dato ha un carattere speciale come per esempio "à" la funzione json_encode mi riporta null.
All'inizio leggendo anche qualche forum pensavo fosse un problema di codifica con il DB ma era settato UTF8_unicode_ci e mi sembrava strano.
Cosi leggendo ancora parlavano della codifica dello stesso file php che io ho importato in altervista.
Allora sono entrato nel pannello di controllo e ho creato un file php exnovo direttamente da web e ci ho scritto dentro il seguente codice:
quando lo eseguo mi ritorna:
{"id":"1","descrizione":null}
5
Quindi il problema non è legato alla codifica del DB, ne alla codifica del file php... ma allora cosa può essere?!?
Lascio il link alla pagina esempio se qualcuno volesse fare qualche prova:http://daunazanzara.altervista.org/test.php
Ho preso uno spazio su Altervista e dopo aver caricato il mio piccolo sito con creazione del DB mi trovo a fronteggiare un problema a cui non trovo soluzione.
Come da titolo il problema è nella funzione json_encode().
Utilizzo in una pagina una funzione $get che preleva dei dati dal DB tramite una pagina php.
In questa pagina dopo la query al DB codifico l'array con la funzione json_encode() per poi elaborarlo nella funzione inziale jQuery.
E qui si presenta il problema, se un dato ha un carattere speciale come per esempio "à" la funzione json_encode mi riporta null.
All'inizio leggendo anche qualche forum pensavo fosse un problema di codifica con il DB ma era settato UTF8_unicode_ci e mi sembrava strano.
Cosi leggendo ancora parlavano della codifica dello stesso file php che io ho importato in altervista.
Allora sono entrato nel pannello di controllo e ho creato un file php exnovo direttamente da web e ci ho scritto dentro il seguente codice:
PHP:
<?php
$row = array("id" => "1","descrizione" => "già");
echo json_encode($row);
echo '<br>'.json_last_error();
?>
quando lo eseguo mi ritorna:
{"id":"1","descrizione":null}
5
Quindi il problema non è legato alla codifica del DB, ne alla codifica del file php... ma allora cosa può essere?!?
Lascio il link alla pagina esempio se qualcuno volesse fare qualche prova:http://daunazanzara.altervista.org/test.php