@NeVolshebnik Что бы такого не было в скрипте скинутом мной еспользуется модуль JSON Если его установите там есть экшен проверка на валидность JSON переменной. Результат будет булевый. Если не знаете то можете использовать его. Как минимум отпадет часть проблем пока не начнете понимать разницу.
upd Как его можно применить есть в моем скрипте. Он там проверят на валидность и потом преобразовывает. Т.к. входящая не подходит. Этот модуль делвет все то что у вас в коде.
Тоже возникла такая проблема, подробного ответа в данной теме ответа нет. Напишу как сделал я.
В Notepad++ открываем нужный нам текстовый файл, нажимаем вверху меню Кодировки --> преобразовать в utf-8 без BOM и сохраняем этот преобразованный текстовый файл, все. Проверить какая у вас кодировка можно в правом нижнем углу.