Chinesisch verstümmelt ist ein häufiges Problem bei der Verwendung von JSON -Codierung und Dekodierung in PHP. Normalerweise ist dies auf eine inkonsistente Zeichenkodierung zwischen Server und Client zurückzuführen. In diesem Artikel wird detailliert erläutert, wie dieses Problem gelöst wird, indem die Charaktercodierung festgelegt und die Codierung manuell konvertiert wird.
Um sicherzustellen, dass die Charaktercodierung im JSON -Codierungs- und Dekodierungsprozess in PHP konsistent ist, kann die Zeichencodierung in den HTTP -Header -Informationen über die Funktion Header () eingestellt werden. Dies kann das Erscheinungsbild des chinesischen verstümmelten Codes vermeiden. Hier ist ein Beispielcode:
Header ('Content-Typ: application/json; CharSet = utf-8'); $ Data = Array (Array ( 'Name' => 'Zhang San', 'Alter' => 25, 'City' => 'Peking' ); $ json = json_encode ($ data, json_unescaped_unicode); echo $ json;
In diesem Beispiel vermeiden wir es, den chinesischen Zeichen zu Unicode-Codierung zu entkommen, indem wir die Zeichencodierung des HTTP-Headers auf UTF-8 und mit der Funktion jSON_Encode () zum Umwandeln der Daten mit Chinesen in das JSON-Format umwandeln und gleichzeitig den Parameter jSON_unescaped_unicode angeben.
Wenn die Konsistenz der Zeichencodierung zwischen dem Server und dem Client nicht sichergestellt werden kann, können Sie die Codierung manuell konvertieren, um verstümmelte Code zu vermeiden. Hier ist ein Beispiel für manuell konvertierende Codierung:
$ Data = Array (Array ( 'name' => 'li si', 'Alter' => 30, 'Stadt' => 'Shanghai' ' ); // Die Encodierung während der Codierung $ json = json_encode ($ data, json_unescaped_unicode) manuell konvertieren; $ json = mb_convert_encoding ($ json, 'utf-8', 'utf-8'); // Die Encodierung während des Decodierens $ json = mb_convert_encoding ($ json, 'utf-8', 'utf-8' manuell konvertieren; $ data = json_decode ($ json, true); var_dump ($ data);
In diesem Code verwenden wir die Funktion mb_convert_encoding (), um die Konsistenz der Codierung zu gewährleisten und so das Problem des chinesischen verstümmelten Code zu vermeiden.
Um das Problem des chinesischen verstümmelten Codes während der JSON -Codierung und -decodierung in PHP zu lösen, kann es erreicht werden, indem die Charaktercodierung festgelegt oder die Codierung manuell konvertiert wird. Unabhängig von der verwendeten Methode ist die Gewährleistung der Codierungskonsistenz zwischen dem Server und dem Client der Schlüssel.
Ich hoffe, dass die in diesem Artikel bereitgestellte Lösung Ihnen helfen kann, das Problem der JSON -Codierung und -decodierung in PHP effektiv zu lösen. Wenn Sie andere Fragen haben, überlassen Sie bitte eine Nachricht, um zu diskutieren.