Okazało się, że jest to spowodowane błędem w persistent-mysql pakiet, który jest teraz naprawiony w persistent-mysql-2.3 .
Oto główna przyczyna dla zainteresowanych:
Biblioteka MySQL C (i rozszerzenie Haskell mysql pakiet, który persistent-mysql zależy od) nie rozróżnia danych binarnych i tekstowych na poziomie typu. Więc jeśli zapisałeś TEXT wartości do bazy danych, gdy została wyszukana przez trwałą, wyglądała na dane binarne (PersistByteString ).
Zostało to naprawione w #451 sprawdzając zestaw znaków kolumny, który dokumentacja MySQL API zaleca jako odpowiednie rozwiązanie.
Aby uzyskać więcej informacji, zobacz to żądanie ściągnięcia lub ten problem .
Dzięki za zadanie tego pytania; W przeciwnym razie nie zdawałbym sobie sprawy, że istnieje błąd.