PHP: serializeしたデータはテキストで保存するな!
serialize関数で、PHPの値を変換する場合は、テキストデータではなく、バイナリーとして取り扱う事。
普通のテキストデータとして取り扱ってしまうと、
データが壊れてしまって元の値を復元できなくなる!!
これは怖いぞ・・・
下記はPHP公式のドキュメントの説明。
返り値 value の保存可能なバイトストリーム表現を含む文字列を返します。 これはバイナリ文字列であり、null バイトを含む可能性もあることに注意しましょう。 保存したり利用したりするときも、null バイトが含まれることを想定しておかないといけません。 たとえば、serialize() の出力をデータベースに格納するときには、 通常は CHAR 型や TEXT 型ではなく BLOB 型を使わないといけません。
ドキュメントのURL: https://www.php.net/manual/ja/function.serialize.php