Gzcompress записывает в БД кракозябры

287
11 мая 2017, 14:01

Есть поле в БД с типом text и сравнением utf8_general_ci. В данном поле планирую хранить массив, делаю следующим образом:

$ser_arr = serialize($products_arr); //выполняю serialize
$small = gzcompress($ser_arr); //сжимаю строку
echo $small;

Выводит на экран какую-то дичь (2 строка): При этом на первой строке до сжатия все нормально.

Соответственно, такие символы в БД никак не записать. Вопрос, это нормальное поведение или что-то не так с кодировкой где-то? (В файле стоит utf-8)

ДОПОЛНЕНО: Попытка записать информацию в ячейку с типом BLOB оказалась удачной, однако при вытаскивании данных из ячейки происходит ошибка gzuncompress(): data error. Причем ошибка возникает только в модели (пишу на yii2), во вьюшке все прекрасно достается.

Может есть еще какие-то варианты?

Answer 1

Дело оказалось в используемом фреймворке (Yii2). Точнее в обращении к БД через ActiveRecords методом find(). Честно говоря, научиться обращаться с результатами такого запроса у меня так и не получилось, но переделав запрос под обычный select все без проблем записалось и вытащилось из БД.

READ ALSO
Как устроить ловушку для хакера, или достойно отбивать атаки?

Как устроить ловушку для хакера, или достойно отбивать атаки?

Ребята выручайтеМеня взломали и в наглую соединились со мной требуя денег

433
phpbb3 авторизация на форуме

phpbb3 авторизация на форуме

доброго времени суток , пишу авторизацию через андройд регистрация работает и вносит все поля в базу все как надо протестировл 10 раз проблем...

362
Как вывести дочерние записи?

Как вывести дочерние записи?

Есть сайт на CMS WordpressИспользуя плагин Toolset Types, создал 2 типа записей, во втором типе указал первый как родительский

419
Очистка URL от лишних символов

Очистка URL от лишних символов

Пишу функцию для очистки url от всего лишнего, функция вынесена в отдельный файл:

261