Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kodiere ich UTF-8-Zeichen in der PHP-JSON-Ausgabe ohne Unicode-Escapezeichen?

Wie kodiere ich UTF-8-Zeichen in der PHP-JSON-Ausgabe ohne Unicode-Escapezeichen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 20:51:03277Durchsuche

How to Encode UTF-8 Characters in PHP JSON Output without Unicode Escaping?

Beibehalten von UTF-8 in der PHP-JSON-Ausgabe

Frage:

Wie können Sie verhindern, dass die json_encode-Funktion von PHP non entkommt -ASCII-Zeichen als Unicode-Sequenzen? Die gewünschte Ausgabe sind UTF-8-codierte Zeichen, keine Unicode-Sequenzen. Beispielsweise sollte ein Array, das den Wert „á“ enthält, als {“a“: „á“} und nicht als „a“: „u00e1“} codiert werden.

Antwort:

Während die JSON-Spezifikation beide Codierungsformate zulässt, werden {"a":u00e1"} und {"a":á"} von JSON-Decodern gleich behandelt.

Für PHP-Versionen 5.4 und höher: json_encode stellt die Option JSON_UNESCAPED_UNICODE bereit. Diese Option gibt einfache UTF-8-codierte Zeichen ohne Escapezeichen aus.

<code class="php">$json = json_encode($arr, JSON_UNESCAPED_UNICODE);</code>

Für ältere PHP-Versionen sollten Sie die folgenden Optionen in Betracht ziehen:

  • Benutzerdefinierter JSON-Encoder: Implementieren Sie einen benutzerdefinierten JSON-Encoder, der das Zeichen-Escape für Nicht-ASCII-Zeichen weglässt.
  • Pear's JSON-Encoder: Ändern Sie den Pear-JSON-Encoder, indem Sie die Zeilen 349 bis 433 entfernen. Dieser Abschnitt enthält die Escape-Logik.

Das obige ist der detaillierte Inhalt vonWie kodiere ich UTF-8-Zeichen in der PHP-JSON-Ausgabe ohne Unicode-Escapezeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn