utf8.decode yöntemini kullanabiliriz Future<Map> fetchData adinda yeni bir fonksiyon tanımlarsak örnek olarak böyle birşey yapabiliriz
import 'dart:convert';
import 'package:http/http.dart';

Future<Map> fetchData(String dataTipi, String sureAdi, int ayetNo) async {
  final encodedSureAdi = Uri.encodeComponent(sureAdi.toLowerCase());

  final response = await get(Uri.parse(
    "https://api.xxx.tr/getsureapi.php?sureadi=$encodedSureAdi&datatipi=$dataTipi&ayetno=$ayetNo",
  ));

  final data = utf8.decode(response.bodyBytes); 
  return jsonDecode(data);
}

void main() async {
  Map valueMap = await fetchData("hakkinda", widget.surah.name!, widget.surah.number);
  Map valueMap2 = await fetchData("nuzul", widget.surah.name!, widget.surah.number);
  Map valueMap3 = await fetchData("konu", widget.surah.name!, widget.surah.number);
  Map valueMap4 = await fetchData("fazilet", widget.surah.name!, widget.surah.number);

  print("Hakkinda: $valueMap");
  print("Nuzul: $valueMap2");
  print("Konu: $valueMap3");
  print("Fazilet: $valueMap4");
}
gibi olur aslinda bir deneyin