L'ajout de mon 2c à la discussion pour l'avenir googlers.
J'enquêtais sur un problème similaire où j'ai eu l'erreur suivante lors de l'aide personnalisée fonctions qui a reçu un varchar paramètre:
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and
(utf8_general_ci,IMPLICIT) for operation '='
À l'aide de la requête suivante:
mysql> show variables like "collation_database";
+--------------------+-----------------+
| Variable_name | Value |
+--------------------+-----------------+
| collation_database | utf8_general_ci |
+--------------------+-----------------+
J'ai été en mesure de dire que la DB a l'aide de utf8_general_ci, tandis que les tableaux ont été définis à l'aide de utf8_unicode_ci:
mysql> show table status;
+--------------+-----------------+
| Name | Collation |
+--------------+-----------------+
| my_view | NULL |
| my_table | utf8_unicode_ci |
...
Notez que les points de vue ont NULLE classement. Il semble que les vues et les fonctions de classement définitions, même si cette requête affiche la valeur null pour un point de vue. Le classement utilisé est le DB classement qui a été défini lors de l'affichage/fonction ont été créés.
Le plus triste, la solution est à la fois modifier la db de classement et de recréer les points de vue et les fonctions pour les forcer à utiliser le classement actuel.
J'espère que cela aidera quelqu'un.