web-dev-qa-db-fra.com

Mélange illégal de classements (utf8_general_ci, IMPLICIT) et (utf8_unicode_ci, IMPLICIT) pour l'opération '=' dans la procédure stockée MySQL

J'ai vérifié la table de la base de données et je l'ai trouvée dans latin1_swedish_ci donc je l'ai changé en utf8_general_ci puis j'ai changé le classement de latin1_swedish_ci à utf8_general_ci pour tous les champs.

Cela me donne toujours la même erreur.

Mélange illégal de classements (utf8_general_ci, IMPLICIT) et (utf8_unicode_ci, IMPLICIT) pour l'opération '='

Merci,

17
Nikhil

la réponse est donc simple. Il semble que vous ayez manqué le changement indiqué par MKJ ^^ mais la syntaxe réelle pour modifier vos tables ressemble à ceci.

alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci;

Appliqué en tant que script individuel ou à la fin de votre instruction create table, vous devriez pouvoir relier toutes les tables associées au même jeu de caractères

30
Hituptony
COLLATE utf8_unicode_ci

ajouter à la fin de la requête, comme ceci;

SELECT * FROM table COLLATE utf8_unicode_ci;
1
alicanozkara