С этим я часто сталкиваюсь, и обычно я прибегаю к методу «попробуй и попробуй снова», пока данные не сработают. Я подумал, что SO будет знать, как лучше всего поддерживать данные, а не портить JSON.
Давайте предположим, что данные, которые я хочу отправить, являются текстовыми данными наиболее раздражающего вида - специальные символы, &, <, ", \ n, \ n \ r, \ t, + и т. Д. </p>
Давайте также предположим, что я хочу сохранить все в utf8, и моя таблица mysql настроена на utf8. Однако, поскольку в PHP отсутствует поддержка utf8, это следует учитывать.
Какую кодировку / экранирование / htmlentities я должен делать:
1) Отправка данных JSON от клиента JS в PHP через AJAX POST (что-то другое для GET?)
2) Декодирование данных в PHP и сохранение текстовой строки в базе данных mysql (или сохранение экранированных / закодированных данных?)
3) Извлечение данных из БД MySQL в PHP и возврат в виде ответа JSON на запрос JS AJAX
4) В ответе JSON от нашего REST API