Кракозябры в ответе API

Ответ API приходит со странными символами вместо букв, ломаным форматированием или вовсе нечитаемым. Причина почти всегда одна — несогласованная кодировка: сервер отдаёт данные в одной, а приложение читает в другой.

Разберём, как это лечится.

  1. Задайте заголовки запроса

    Добавьте в настройку вызова API два заголовка:

    • Content-Type: application/json
    • Charset: utf-8

    Они говорят серверу отдавать JSON в кодировке UTF-8 — с ней FlutterFlow работает без сюрпризов.

    Заголовки Content-Type и Charset в настройке вызова API

  2. Включите принудительное декодирование UTF-8

    Если сервер не указывает кодировку или текст всё ещё бьётся, заставьте FlutterFlow читать ответ как UTF-8:

    1. Откройте настройку вызова API.
    2. Пролистайте до Advanced Settings.
    3. Включите Force response decoding as UTF-8.

    Опция Force response decoding as UTF-8

совет
Что ещё проверить
  • Прогоните вызов на вкладке API Test — там сразу видно, в каком виде приходит ответ.
  • Убедитесь, что сторонний API вообще поддерживает UTF-8 и возвращает корректный JSON.
  • Если бэкенд ваш, проверьте, какие заголовки он отдаёт.

Не помогло — напишите в поддержку FlutterFlow через чат или на support@flutterflow.io.

перевод официальной документации FlutterFlow

обновлено

ESC