php / mysql: Как вставить строку gzcompress-ed в текстовое поле mysql?

Я пытался сжать и сохранить json закодированную строку в mysql, но я получаю «неожиданные /» ошибки.

Я также попытался использовать addlashes вот так:

addslashes(gzcompress(json_encode($mystring))); 

И для отображения

 json_decode(gzuncompress(stripslashes($mystring))); 

Но он терпит неудачу при вставке с упомянутой ошибкой.

Я где-то читал строку с gzcompress, которая должна храниться как blob, но я надеялся, что есть способ сохранить ее в текстовом поле mysql, поэтому мне не нужно возиться с db.

PS: Некоторые спрашивали о полном сообщении об ошибке здесь:

Предупреждение: Неожиданный символ на входе: '\' (ASCII = 92) state = 1

PDOException: SQLSTATE [HY000]: Общая ошибка: 1366 Неверное строковое значение: '\ x9C \ xED} \ x8Br \ xDB …' для столбца 'field_text_value' в строке 1.

Храните его как BLOB . Даже если бы был способ сохранить его в поле VARCHAR или *TEXT таким образом, чтобы выжить в кругосветном путешествии, это было бы ужасно.

Вы уверены, что вам нужно сжатие?

Вы также можете заставить MYSQL выполнить сжатие, например INSERT INTO mytable (compressed_json) VALUE (COMPRESS('[\"the json\"]') .

Почему вы хотите добавить сжатую строку gzip в базу данных? Почему бы вам просто не сохранить его как:

mysql_real_escape_string(json_encode($myArray)))