Ceci est mon fichier PHP (le fichier réel est plus complexe, mais je trouve qu'il échoue même avec le code le plus simple):JSON non valide de json_encode()
<?php
$salida = array(1,2,3,4,5);
echo json_encode($salida);
?>
Ceci est la réponse que je reçois:
[1,2,3,4,5]
Semble être valide, mais ce n'est pas le cas. Mon application AJAX indique 'Unexpected token'
lorsque je la passe à la fonction jQuery.parseJSON(). Lorsque je le colle à la page Web JSONLint, renvoyer la même erreur.
Je remarque que si je supprime le premier caractère et le saisis à nouveau, le JSON devient valide.
Cela m'a fait penser et j'ai vérifié la chaîne JSON avec un éditeur HEX et je trouve des personnages étranges au début du fichier:
[1,2,3,4,5]
C'est étrange parce que la fonction a bien fonctionné jusqu'à il y a quelques jours et le fichier n'a pas été modifié.
La balise <?php>
se trouve au début du fichier et est encodée en utf-8.
Je travaille avec XAMPP 1.8.3 sous Windows 8.1. J'ai réinstallé XAMPP juste au cas où quelque chose est cassé, mais la fonction json_enconde()
ne fonctionne toujours pas.
Quelqu'un sait comment résoudre ce problème?
Merci
En fait mon fichier est encodé en UTF-8 sans nomenclature mais j'ai remarqué que l'un des fichiers dépendants appelé avec require_once() était codé en UTF8 avec BOM. – Davalom