/ / Uzyskiwanie dziwnego kodowania znaków na wyjściu json - json, cakephp, kodowanie znaków, cakephp-3.0, cakephp-3.3

Uzyskiwanie dziwnego kodowania znaków na wyjściu jsona - json, cakephp, kodowanie znaków, cakephp-3.0, cakephp-3.3

Pobieranie takich odpowiedzi w moich odpowiedziach JSON:

u003Cpu003EOur Lorem ipsum dolor sit amet,consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud Exercitation ullamco laboris nisi ut aliquip ex ea commodo konsekat. Duis aute irure dolor in reprezenthenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.u003C / pu003En

Zakładam, że CakePHP 3.3 coś tu robi. Korzystanie ze standardowych rozszerzeń tras json i xml. Z ustawionymi i serializowanymi sterownikami. Nic niezwykłego, o czym mogę myśleć. Masz pomysł, jak zmienić to na coś, co klient może łatwo odczytać lub po prostu wyłączyć kodowanie?

Odpowiedzi:

2 dla odpowiedzi № 1

Nie ma w tym nic dziwnego, to po prostureprezentacje znaczników Unicode otwierających i zamykających nawiasów kątowych znaczników HTML w treści. Ta konwersja jest stosowana podczas korzystania z JSON_HEX_TAG opcja, którą domyślnie robi CakePHP.

W rzeczywistości CakePHP obecnie używa

JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT

domyślnie. Jeśli chcesz to zmienić, użyj _jsonOptions wyświetl zmienną opcję, aby zdefiniować własną maskę bitową lub ustawić ją na false aby wyłączyć wartości domyślne, tzn. w akcji kontrolera wykonaj coś takiego

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

Zobacz też