„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kodiere ich Sonderzeichen in JSON mit der json_encode()-Funktion von PHP richtig?

Wie kodiere ich Sonderzeichen in JSON mit der json_encode()-Funktion von PHP richtig?

Veröffentlicht am 17.11.2024
Durchsuche:762

How to Correctly Encode Special Characters in JSON with PHP\'s json_encode() Function?

JSON-Kodierung und Sonderzeichen

Beim Kodieren von Arrays mit der Funktion json_encode() kann es vorkommen, dass Elemente mit Sonderzeichen konvertiert werden leere Zeichenfolgen. Dieses Verhalten macht sich besonders bei Zeichen wie Urheberrechts- oder Markensymbolen bemerkbar.

Um dieses Problem zu beheben, stellen Sie sicher, dass alle Zeichenfolgendaten UTF-8-codiert sind, bevor Sie sie als JSON codieren. Dies kann durch die Verwendung von array_map() in Verbindung mit der Funktion utf8_encode() erreicht werden:

$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);

Wie im PHP-Handbuch erwähnt, erfordert json_encode(), dass alle String-Daten UTF-8-codiert sind. Indem wir die Array-Elemente vor der JSON-Kodierung in UTF-8 kodieren, stellen wir sicher, dass Sonderzeichen in der JSON-Ausgabe korrekt dargestellt werden.

Vergleichen wir der Übersichtlichkeit halber die Ergebnisse der Kodierung eines Arrays mit und ohne UTF-8 Kodierung:

Ohne UTF-8 Kodierung:

$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}

Mit UTF-8-Kodierung:

$arr = array_map('utf8_encode', ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"]);
$json = json_encode($arr); // {"funds":"ComStage STOXX\u00c2\u00aeEurope 600 Techn NR ETF"}

Durch die Anwendung der UTF-8-Kodierung werden die Sonderzeichen in der JSON-Ausgabe korrekt dargestellt. Denken Sie daran, utf8_encode() konsequent für eine ordnungsgemäße Codierung zu verwenden.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729242557 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3