Hirdetés

Új hozzászólás Aktív témák

  • don_peter

    senior tag

    Srácok, ti hogy oldjátok meg azt, hogy egy mondjuk SQL lekérés API-n keresztül json_encode()-el, betöltve az ékezetes karaktereket is megérkezzenek? Valamiért mindig NULL-ot kapok vissza arra mezőre, amelyben ékezetes karakter van.
    Már próbálkoztam sok mindennel, de nem tudtam megoldani.

    Van erre valami ötlet vagy működő megoldásotok?
    Köszi előre is.

    A kódom ide vonatkozó része:

    PHP:
    echo json_encode($records);
    Flutter:
    Future<List<User>> getUserData() async {
    var url = 'http://.../.../feldolgozo_api.php';
      final response = await http.post(
      Uri.parse(url),
      headers: {
      //'Content-Type': 'application/json; charset=utf-8', // ez nem jó
        'Accept':'application/json'
      },
    //encoding: Encoding.getByName("utf-8"), // ez sem
      body: {
      'keres': "keres"
      });
      var jsonData = jsonDecode(response.body);
    ///... vizsgálatok
        return jsonData;
    }


    Kiíratás:
    return ListTile(
      title: Text(
      snapshot.data[i].nev,
      ),
      subtitle: Text(snapshot.data[i].email),
    trailing: Text(snapshot.data[i].leiras),
    );

    Itt ha bármelyik változóban (nev, leiras) ékezetes karakter lenne, akkor NULL lesz a tartalma és kiakad a program.
    Debug módban arra rájöttem, hogy már mikor a PHP json_encode() lefut, már akkor NULL lesz a változóban. Gondolom a szerver oldalon kell ezt már megoldani, de nem jöttem rá, hogyan. Csere, replace sem ment, nem cserélte ki a karaktereket, bár lehet itt más megoldást kell használni, mint amiket én próbáltam..

    [ Szerkesztve ]

    ----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

Új hozzászólás Aktív témák