Cela s'est avéré être causé par un bogue dans le persistent-mysql
package qui est maintenant corrigé dans persistent-mysql-2.3
.
Voici la cause première pour les personnes intéressées :
La bibliothèque MySQL C (et par extension Haskell mysql
package, qui persistent-mysql
dépend) ne fait pas la distinction entre les données binaires et textuelles au niveau du type. Donc, si vous avez enregistré un TEXT
valeur à la base de données, lorsqu'elle a été recherchée par persistent, il s'agissait de données binaires (un PersistByteString
).
Cela a été corrigé dans #451 en vérifiant le jeu de caractères de la colonne, ce que la documentation de l'API MySQL recommande comme solution appropriée.
Pour plus de détails, consultez cette demande d'extraction ou ce problème .
Merci d'avoir posé cette question; Sinon, je n'aurais pas réalisé qu'il y avait un bug.