PHP: json_encode vs sérialiser pour stocker dans une base de données MySQL?

Je suis le stockage de certaines données non structurées (un tableau à clé) dans un champ de ma table, et je suis actuellement en utilisant serialize () et unserialize() afin de les "convertir" en arrière à partir de la matrice de chaîne.

Chaque maintenant et puis, cependant, j'ai des erreurs lors de la désérialisation des données. Je crois que ces erreurs se produisent parce que des données Unicode dans les cordes à l'intérieur du tableau, j'en suis la sérialisation, bien qu'il existe quelques enregistrements avec des données Unicode qui fonctionnent tout aussi bien. (DB champ est UTF-8)

Je me demandais si l'utilisation de json_encode au lieu de sérialiser fera la différence /le rendre plus résistant. Ce n'est pas anodin pour moi de tester, étant donné que dans mon environnement de dev, tout fonctionne bien, mais dans la production, chaque maintenant et puis (environ 1% des dossiers), je reçois un message d'erreur.

Btw, je sais que je suis weaseling de la découverte d'une véritable explication du problème et seulement aveuglément essayer quelque chose, je suis un peu en espérant que je peux me débarrasser de ce sans passer trop de temps sur elle.

Pensez-vous à l'aide de json_encode au lieu de sérialiser va le rendre plus résilient à la "sérialisation des erreurs"? Le format des données n'a pas l'air plus "indulgent" pour moi...

Mise à JOUR: L'erreur que j'obtiens est:

 Notice: unserialize(): Error at offset 401 of 569 bytes in C:\blah.php on line 20

Merci!
Daniel

source d'informationauteur Daniel Magliola