/ / Obtenir un encodage de caractère étrange dans la sortie JSON - Json, Cakephp, encodage de caractère, Cakephp-3.0, Cakephp-3.3

Obtenir un encodage de caractère étrange dans la sortie JSON - JSON, Cakephp, encodage de caractère, Cakephp-3.0, Cakephp-3.3

Obtenir des choses comme ça dans mes réponses JSON:

u003Cpu003EOur Lorem ipsum dolor sit amet,consectetur elit adipiscing, sed eiusmod tempor incidid ut labore et dolore magna aliqua. Tout en un minimum de poids, l’exercice de nos exercices en cours de travail, mais il n’existe que d’excellents résultats. Duis aute irure dolor in reprrehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.u003C / pu003En

Je suppose que CakePHP 3.3 fait quelque chose ici. Utilisation des extensions de route json et xml standard. Avec définir et sérialiser dans mes contrôleurs. Rien d'extraordinaire auquel je puisse penser. Toute idée de comment changer cela en quelque chose qui peut être facilement décodé par un client ou tout simplement désactiver le codage tous ensemble?

Réponses:

2 pour la réponse № 1

Il n'y a rien d'étrange à cela, c'est simplementReprésentation des balises unicode des crochets inclinés d'ouverture et de fermeture des balises HTML dans votre contenu. Cette conversion est appliquée lors de l'utilisation du JSON_HEX_TAG option, ce que CakePHP fait par défaut.

En fait, CakePHP utilise actuellement

JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT

par défaut. Si vous voulez changer cela, utilisez le _jsonOptions option de vue variable pour définir votre propre masque de bits, ou le définir sur false pour désactiver les valeurs par défaut, c.-à-d. dans l'action de votre contrôleur, faites quelque chose comme

$this->set("_jsonOptions", false);

Voir également