/ / Obtención de codificación de caracteres extraños en la salida json - json, cakephp, codificación de caracteres, cakephp-3.0, cakephp-3.3

Obteniendo una codificación de caracteres extraños en la salida json - json, cakephp, codificación de caracteres, cakephp-3.0, cakephp-3.3

Obteniendo cosas como esta en mis respuestas JSON:

u003Cpu003EOur Lorem ipsum dolor sit amet,consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lo primero que se puede hacer es usarlo en la mano, pero si se trata de un trabajo ulterior, no se trata de un alícuota, ni tampoco de cualquier otro. Duis aute ire dolor en reprehender en voluptate velit esse cillum dolore eu fugiat nulla pariatur.u003C / pu003En

Supongo que CakePHP 3.3 está haciendo algo aquí. Usando extensiones de ruta json y xml estándar. Con configurar y serializar en mis controladores. Nada fuera de lo normal que se me ocurre. ¿Alguna idea de cómo cambiar esto a algo que pueda ser fácilmente descodificado por un cliente o simplemente desactivar la codificación por completo?

Respuestas

2 para la respuesta № 1

No hay nada extraño en esto, eso es simplementeRepresentaciones de etiquetas Unicode de los corchetes angulares de apertura y cierre de las etiquetas HTML en su contenido. Esta conversión se está aplicando cuando se utiliza el JSON_HEX_TAG Opción, que CakePHP hace por defecto.

De hecho, CakePHP utiliza actualmente

JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT

por defecto. Si quieres cambiar esto, usa el _jsonOptions Ver opción de variable para definir su propia máscara de bits, o establecerla en false para desactivar los valores predeterminados, es decir, en la acción del controlador, haga algo como

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

Ver también