Получение странной кодировки символов в выводе json

Получение таких вещей в моих ответах JSON:

\ u003Cp \ u003EOur Lorem ipsum dolor sit amet, consctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репреендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. \ U003C / p> \ n

Я предполагаю, что CakePHP 3.3 что-то здесь делает. Использование стандартных расширений маршрутов json и xml. С установкой и сериализацией в моих контроллерах. Ничего необычного, что я могу придумать. Есть идеи, как изменить это на что-то, что может быть легко декодировано клиентом, или просто отключить кодирование все вместе?


person cnizzardini    schedule 01.09.2016    source источник


Ответы (1)


В этом нет ничего странного, это просто представления тегов Unicode открывающих и закрывающих угловых скобок HTML-тегов в вашем контенте. Это преобразование применяется при использовании параметра JSON_HEX_TAG, который CakePHP делает по умолчанию.

Фактически, в настоящее время CakePHP использует

JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT

по умолчанию. Если вы хотите изменить это, используйте параметр _jsonOptions переменной просмотра, чтобы определить свою собственную битовую маску, или установите для нее значение false, чтобы отключить значения по умолчанию, т.е. в действии вашего контроллера сделайте что-то вроде

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

Смотрите также

person ndm    schedule 01.09.2016