парсинг xml: неправильная кодировка набора символов

Мой сайт связывается с удаленным API для синхронизации баз данных. Данные, которые я получаю, находятся в формате XML, и 999 из 1000 раз это правильный XML, который я могу напрямую анализировать, используя simplexml_load_string,

И все же 1 из 1000 раз я получаю неправильно закодированный XML, как показано на прилагаемом изображении ниже.

Я должен как-то разобрать эту тарабарщину, потому что попытка получить ту же запись снова даст тот же результат.

Если у вас есть предложение о том, как конвертировать это, пожалуйста, дайте мне знать. Я попробовал следующие функции, но я не эксперт по декодированию, поэтому в темноте были только снимки:

  • gzdeflate($result)
  • utf8_decode($result)
  • iconv("UTF-8", "UTF-8//IGNORE", $result)
  • base64_decode($result)
  • iconv(mb_detect_encoding($result, mb_detect_order(), true), "UTF-8", $result)

    неправильная кодировка

2

Решение

BareNakedCoder предложил посмотреть заголовки ответа, и ответ был там: очевидно, что токены аутентификации для этого API-интерфейса истекают очень быстро, даже во время выполнения моего скрипта. Смотрите прикрепленное изображение для заголовков. Таким образом, решение состоит в том, чтобы повторно проходить аутентификацию каждый раз, когда это происходит.

Жаль, что API не просто говорит это в обычном выводе XML.

Это происходит в API Exact Online (программное обеспечение для бухгалтерии), поэтому я добавлю это в качестве ключевого слова к исходному вопросу.

заголовки

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]