Это мешает мне использовать JSON и препятствует использованию React или Ember. При отправке запроса на сервер с использованием AJAX я получаю дополнительный неопределенный символ Юникода, который вызывает ошибку парсера, так как он прерывает JSON.
Я проверил каждый файл php, который у меня есть, для дополнительного броска или эха или печати или любой другой функции, которая будет печатать что-то, но ничего нет. Это не ограничивается JSON, но, ожидая текста, это не будет проблемой. Но с JSON он будет разбираться, и он сломается.
Есть ли что-то, что может помешать здесь?
Для получения более подробных разъяснений взгляните на это. Красная точка представляет неопределенный символ.
PS. Кроме того, я не закрываю какой-либо файл PHP с тегом?> И помещаю начальный тег в начало каждого файла.
PPS. Я использую Sublime Text 3, и я не думаю, что он имеет какое-либо отношение к спецификации. Также красная точка в chrome и firefox представляет собой непечатаемый специальный символ юникода, который отправляется с сервера, и на сервере есть только PHP.
Как было сказано в ссылке, опубликованной в комментариях выше.
«Блокнот Windows добавляет информацию спецификации к файлам UTF-8 (например, FFFE или FEFF в начале файла), что объясняет это поведение. В Notepad ++, например, вы можете запретить использование UTF-8 информации о спецификации с помощью меню« Формат »"
Убедитесь, что включены также файлы php для спецификации
Используйте эту команду для поиска и удаления спецификации в файлах !:
find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;