Ich habe eine einfache PHP-Struktur mit 3 verschachtelten Arrays.
Ich verwende keine bestimmten Objekte und baue mir die Arrays mit 2 verschachtelten Schleifen.
Hier ist ein Beispiel für den var_dump des Arrays, das ich in Json konvertieren möchte.
array (size=2)
'tram B' =>
array (size=2)
0 =>
array (size=3)
'name' => string 'Ile Verte' (length=9)
'distance' => int 298
'stationID' => int 762
1 =>
array (size=3)
'name' => string 'La Tronche Hôpital' (length=18)
'distance' => int 425
'stationID' => int 771
16 =>
array (size=4)
0 =>
array (size=3)
'name' => string 'Bastille' (length=8)
'distance' => int 531
'stationID' => int 397
1 =>
array (size=3)
'name' => string 'Xavier Jouvin' (length=13)
'distance' => int 589
'stationID' => int 438
In einem anderen Skript habe ich eine ähnliche Struktur und json_encode
funktioniert gut. Ich verstehe also nicht, warum json_encode
hier nicht funktioniert.
Bearbeiten: Es scheint ein Problem mit der Codierung zu geben. Wenn mb_detect_encoding
ASCII zurückgegeben wird, json_encode
funktioniert dies, aber wenn UTF8 zurückgegeben wird, funktioniert es nicht mehr.
Edit2: gibt json_last_error()
zurück, JSON_ERROR_UTF8
was bedeutet: Fehlerhafte UTF-8-Zeichen, möglicherweise falsch codiert .
utf8_encode()
Ihre name
Array-Felder zu verwenden, bevor Sie die Zeichenfolge übergeben json_encode()
.
JSON_PARTIAL_OUTPUT_ON_ERROR
Option , um das Problem anzuzeigen (z. B. ist das Feld mit UTF8 null).
This function only works with UTF-8 encoded data.
dass es kein Problem mit der Codierung geben sollte.