Warum würde json_encode eine leere Zeichenkette zurückgeben?

Ich habe eine einfache PHP-Struktur mit 3 verschachtelten Arrays.

Ich benutze 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 undjson_encode funktioniert gut. Also verstehe ich nicht warumjson_encode wird hier nicht funktionieren.

Edit: Es scheint ein Problem mit der Kodierung zu geben. Wannmb_detect_encoding gibt ASCII zurück, dasjson_encode funktioniert, aber wenn es UTF8 zurückgibt, funktioniert es nicht mehr.

Edit2:json_last_error() kehrt zurückJSON_ERROR_UTF8 was bedeutet :Fehlerhafte UTF-8-Zeichen, möglicherweise falsch codiert.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage