Nachdem ich heute das gleiche Problem hatte und auf deine Lösung gestoßen bin, diese aber leider nicht nutzen konnte (ich kann beim Speichern der Daten nicht eingreifen) habe ich eine reibungslosere Lösung gefunden.

Man muss "einfach" darauf achten das beim schreiben (war in meinem Fall schon auf utf8 gesetzt) und beim lesen das selbe Encoding genutzt wird.

Dies konnte ich per
mysqli_set_charset($dbConnection, 'utf8');
sicher stellen.

Dann werden die Strings von unserialize genauso wie bei serialize gezählt.