Bonjour,

je rencontre un problème avec un unserialize fait sur une colonne d'une table mysql.
Je ne peux pas agir sur la table qui est bien en UTF8.

Lorsque je fais un unserialise sur la variable j'obtiens l'erreur suivante :
Notice: unserialize(): Error at offset 687 of 687 bytes in /homepages/19/d492996038/htdocs/xxxx/recup_onglets_beeper.php on line 77

J'ai trouvé que c'est lié aux cractères accentués qui font que la longueur donnée dans la sérialization n'est pas bonne.
J'ai également trouvé ce post sur le forum qui donne une solution avec preg_replace :
https://www.developpez.net/forums/d4...-particuliers/

Sauf que preg_replace est deprecated et il faut utiliser preg_replace_callback()
Et je n'y arrive pas !

Comment transformer cette ligne :
$tab['content']=preg_replace('!s\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $tab['content'] );

avec un preg_replace_callback() .... ?

d'avance merci !

Hervé