Gewährleistung der UTF-8-Kodierung in der json_encode-Ausgabe von PHP für Nicht-ASCII-Zeichen
Trotz Bemühungen, die UTF-8-Kodierung durch mb_internal_encoding und utf8_encode zu ermöglichen , json_encode gibt weiterhin Unicode-Escape-Zeichen in der resultierenden JSON-Zeichenfolge zurück. Dieses Problem kann durch verschiedene Ansätze behoben werden.
JSON_UNESCAPED_UNICODE-Option in PHP 5.4
Wenn Sie PHP 5.4 oder höher verwenden, nutzen Sie die Option JSON_UNESCAPED_UNICODE, wenn Sie json_encode aufrufen. Diese Option deaktiviert explizit das Unicode-Escape, was zur erwarteten Ausgabe führt: {"a": "á"}.
Benutzerdefinierter JSON-Encoder mit Nicht-ASCII-Unterstützung
Für Erstellen Sie in früheren PHP-Versionen einen benutzerdefinierten JSON-Encoder, der Nicht-ASCII-Zeichen nicht maskiert. Dieser Ansatz stellt sicher, dass die JSON-Zeichenfolge die ursprüngliche Eingabe genau darstellt.
Änderung des JSON-Encoders von Pear
Eine alternative Lösung besteht darin, den JSON-Encoder von Pear zu ändern, indem die Zeilen 349 bis 433 entfernt werden. Diese Änderung deaktiviert effektiv das Unicode-Escape im Encoder, was zur gewünschten Ausgabe führt.
Fazit
Diese Techniken bieten praktikable Möglichkeiten zur Ausgabe von UTF-8-codierten JSON-Strings und ermöglichen so die Ausgabe von UTF-8-codierten JSON-Strings Genaue Darstellung von Nicht-ASCII-Zeichen ohne Unicode-Escape.
Das obige ist der detaillierte Inhalt vonHier sind einige fragenbasierte Titel, die zu Ihrem Artikel passen: * Warum maskiert json_encode immer noch Nicht-ASCII-Zeichen in meiner PHP-Ausgabe? * Wie kann ich die UTF-8-Kodierung in der json_encode-Ausgabe von PHP sicherstellen? f. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!