Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie gehe ich mit UTF-8-Zeichen um, wenn ich ein PHP-Array in JSON kodiere?

Barbara Streisand
Freigeben: 2024-11-01 13:50:54
Original
896 Leute haben es durchsucht

How to Handle UTF-8 Characters When Encoding a PHP Array to JSON?

JSON-Codierungskämpfe mit UTF-8-Zeichen in PHP

Im Bereich der Datenbankverwaltung in PHP kann es bei der Arbeit mit zu Herausforderungen kommen Akzentzeichen und UTF-8-Kodierung. Stellen Sie sich das Szenario vor, in dem Sie Zeilen aus einer Tabelle abrufen möchten, die Akzentzeichen enthält und die Spaltenkodierung als latin1_swedish_ci konfiguriert ist.

Verstehen des Problems

Anzeigeversuche Die mit utf8_encode() abgerufenen Zeilen scheinen zunächst zu funktionieren, aber die anschließende JSON-Codierung mit json_encode() führt zu Nullwerten für die betroffenen Felder. Dies liegt daran, dass json_encode() möglicherweise keine mit mysql_fetch_assoc() codierten UTF-8-Zeichen verarbeiten kann.

Eine Lösung zur Beibehaltung von UTF-8

Um dieses Problem zu beheben, verwenden Sie der folgende Ansatz:

  1. Erstellen Sie ein leeres Array mit dem Namen $rows, um die codierten Ergebnisse zu speichern.
  2. Iterieren Sie über die Datenbank-Ergebnismenge mit while($row = mysql_fetch_assoc($result)) .
  3. Wenden Sie für jede Zeile utf8_encode() auf jedes Element an, indem Sie $rows[] = array_map('utf8_encode', $row) verwenden. In diesem Schritt werden Zeichen mit Akzent ordnungsgemäß in UTF-8 konvertiert.
  4. Kodieren Sie abschließend das $rows-Array mit echo json_encode($rows) in JSON.

Durch die Implementierung dieser Methode wird das JSON Durch die Kodierung werden die UTF-8-Zeichen korrekt dargestellt, wobei die Akzentzeichen erhalten bleiben und Nullwerte für die betroffenen Felder verhindert werden.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit UTF-8-Zeichen um, wenn ich ein PHP-Array in JSON kodiere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!