Soy nuevo en el desarrollo de Flutter y estoy tratando de decodificar o traducir caracteres especiales. El ejemplo con el que estoy trabajando se ve así presentado como texto normal en flutter:
Ejemplo: "Déjà Vu" a "Déjà Vu"
La izquierda es cómo aparece en la interfaz de usuario y el resultado que me gustaría ver está a la derecha.
He intentado usar la clase Runes
a través de la documentación --> https://api.dart.dev/stable/1.24.3/dart-core/Runes-class.html pero sin suerte.
Este es el código que no funciona:
child: Text(new Runes("Déjà Vu").string)
Actualización: Intenté pasar 'Content-type': 'application/json; charset=utf-8',
en la llamada a la API, sin embargo, no parecía corregir este problema en particular. Adjuntaré una captura de pantalla de la respuesta (la ejecuté con las nuevas cabeceras y también sin)
Aquí está el código:
Future _attemptCall(String suffix) => http.get(
'$kBaseURL$suffix',
headers: {
'Authorization': 'Bearer $_accessToken',
'Content-type': 'application/json; charset=utf-8',
},
);
Future _authorizedCall(
String suffix,
T Function(String) decode,
) async {
if (_accessToken == '') {
await refreshToken();
}
http.Response response = await _attemptCall(suffix);
var resBody = response.body;
print('Esta es la respuesta --> $resBody');
if (response.statusCode == 401) {
await refreshToken();
response = await _attemptCall(suffix);
}
if (response.statusCode == 200) {
return decode(response.body);
}
return null;
}
@override
Future getEpisodeDetails(String id) => _authorizedCall(
_episodeDetailUrl(id),
(s) => Episode.fromJson(jsonDecode(s)),
);