Из-за чего могут быть проблемы с кодировкой в PHP при некоторых операциях?

Возникли проблемы при интеграции с некоторыми сервисами - команда json_encode возвращает пустую строку при кодировании массива в json. Во время отладки выяснилось, что часть данных в массиве в кодировке ISO-8859-1.
Тоже происходит и при записи данных файл.
Массив формируется из двух источников - данные из БД и данные захардкоренные в коде в файлах в UTF-8.

Два разных скрипта ведут себя по разному - в одном данные которые добавляются в коде и записываются в файл с помощью file_put_contents в этом итоговом файле в UTF-8, а данные из БД в ISO-8859-1.
Такой массив при попытке получить json превращается в пустую строку.
В другом все данные в файл записываются в ISO-8859-1, и прекрасно выводятся в браузере в виде UTF-8 и отлично конвертируются в json.

О том что кодировка ISO-8859-1 узнал после перекодирования на сайте Лебедева.

В параметрах Php везде UTF-8. ISO-8859-1 вообще нигде не фигурирует.
Даже не знаю куда копать.

Тэг битрикс при том, что сайт на битрикс, но думаю это вообще не имеет значения.
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
данные из БД в ISO-8859-1.


не задана кодировка для работы с базой
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы