25 years (of boredom) / Version 4.0
Ashor Livs MP3 Mix Player

ReSearch Trouver un lien, une astuce

AshorToolBox Boite à outils

Chiffrage MD5 :
Tapez une chaîne de caractères...
Chiffrage Unix DES :
Tapez un futur password...
URL-o-matic :
Tapez une URL pour obtenir un lien HREF

AstucesPHP

AstucesASP

AstucesSQL

AstucesJavaScript

AstucesLinux

AstucesDivers

Technics MK2 + PhP/Apple = Ashor Livs !
Germain Guglielmetti / Ashor Livs Développement web, DJing, et autres talents. Beaucoup d'humilité. Et de la dérision.
 

Trucs et astuces imaginés au fil du temps, ou répertoriés sur le web.

Choisissez une catégorie :
PHP(17) SQL (7) RoR (2) Linux (30) JS (6) ASP (2) Divers (11)


» Source
 
Mysql : Illegal mix of collations...
Il peut arriver que votre requête provoque ce type d'erreur lorsque vous faites une correspondance entre des identifiants alphanumériques. Voici l'exemple dans une jointure :
INNER JOIN edital_registres ON edital_registres.code = achats_registres.code
sachant que le code est de type FR, EN, DE, etc.

Selon les réglages choisis au moment de la création de la table, chez nous c'était du latin1, voici l'erreur que vous pouvez rencontrer : [b]Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '=' [/b]

OH MY GOD !
Il semblerait que Mysql ait un bug dès lors qu'on passe en latin1. On avait déjà pu le constater lors des exports où le latin1 pouvait être aléatoirement pris de l'UTF8.

Whatever.

Gardez votre structure de table et faites une comparaison hexadécimale avec [b]HEX[/b]. Here it is :
INNER JOIN edital_registres ON HEX(edital_registres.code)= HEX(achats_registres.code)


Et pof ça marche.
Merciiii...