/ / Seltsame Zeichenkodierung in der json-Ausgabe - json, cakephp, zeichenkodierung, cakephp-3.0, cakephp-3.3

Seltsame Zeichenkodierung in JSON-Ausgabe erhalten - JSON, CakePHP, Zeichenkodierung, CakePHP-3.0, CakePHP-3.3

So etwas in meine JSON-Antworten aufnehmen:

u003Cpu003EUnsere Lorem ipsum dolor sitzen amet,consectetur adipiscing elit, sed do eiusmod temporär incididunt ut labore et dolore magna aliqua. Nutzen Sie diese Gelegenheit, um Ihre Arbeit zu verrichten, und erhalten Sie einen Überblick über die Folgen. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore

Ich gehe davon aus, dass CakePHP 3.3 hier etwas tut. Verwendung von Standard-JSON- und XML-Routenerweiterungen. Mit setzen und serialisieren in meinen Controllern. Nichts Außergewöhnliches, an das ich denken kann. Haben Sie eine Idee, wie Sie dies in etwas ändern können, das von einem Client einfach dekodiert werden kann, oder einfach die Kodierung insgesamt deaktivieren?

Antworten:

2 für die Antwort № 1

Daran ist nichts Seltsames, das ist einfachUnicode-Tag-Darstellungen der öffnenden und schließenden spitzen Klammern der HTML-Tags in Ihrem Inhalt. Diese Konvertierung wird bei Verwendung von angewendet JSON_HEX_TAG Option, die CakePHP standardmäßig ausführt.

In der Tat verwendet CakePHP derzeit

JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT

standardmäßig. Wenn Sie dies ändern möchten, verwenden Sie die _jsonOptions Option zum Anzeigen einer Variablen, um eine eigene Bitmaske zu definieren, oder setzen Sie sie auf false Zum Deaktivieren der Standardeinstellungen, dh in Ihrer Controller-Aktion, gehen Sie wie folgt vor

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

Siehe auch