Я храню некоторые "неструктурированные" данные (массив с ключом) в одном поле моей таблицы, и я в настоящее время использую serialize()/unserialize() для "преобразования" назад и вперед от массива к строке.
Время от времени, однако, я получаю ошибки при неэтериализации данных. Я считаю, что эти ошибки происходят из-за данных Unicode в строках внутри массива, который я сериализую, хотя есть некоторые записи с данными Unicode, которые работают очень хорошо. (Поле DB - UTF-8)
Мне интересно, будет ли использование json_encode вместо сериализации сделать разницу/сделать это более устойчивым. Для меня это не тривиально, так как в моей среде dev все работает хорошо, но в производстве, время от времени (около 1% записей), я получаю сообщение об ошибке.
Btw, я знаю, что я не знаю, как найти реальное объяснение проблемы, и просто слепо попробовать что-то, я как бы надеюсь, что смогу избавиться от этого, не тратя на это слишком много времени.
Считаете ли вы, что использование json_encode вместо сериализации сделает это более устойчивым к "ошибкам сериализации"? Формат данных выглядит более "прощающим" для меня...
ОБНОВЛЕНИЕ. Фактическая ошибка, которую я получаю:
Notice: unserialize(): Error at offset 401 of 569 bytes in C:\blah.php on line 20
Спасибо! Daniel