Illegal mix di regole di confronto (latin1_swedish_ci, Coercible) e (utf8_general_ci, implicita) per il funzionamento 'find_in_set'
Domanda
ottengo il seguente errore:
Illegal mix di regole di confronto (Latin1_swedish_ci, Coercible) e (Utf8_general_ci, implicita) per operazione 'find_in_set'
Questa è la query che cercavo di eseguire:
SELECT ID FROM xs_user_profiles WHERE ID='' AND FIND_IN_SET('1',site_structure);
ho guardato le proprietà di questo tavolo e ha charset utf8 e il confronto utf8_general_ci.
Questo funziona bene con tutti i miei siti, quindi non sono sicuro di quello che sta andando male.
Soluzione
Se si utilizza mysqli
, usa il comando subito dopo il collegamento:
$mysqli->set_charset("utf8");
Questo imposterà la codifica connessione a UTF8
(lo stesso vostro tavolo usa).
Con mysql
pianura, utilizzare questo:
mysql_query("SET NAMES utf8", $conn);
mysql_query("SET CHARACTER SET utf8", $conn);
Altri suggerimenti
sto cercando di indovinare la vostra stringa letterale ( '1') è in un confronto diverso a causa di diverse variabili di connessione. Vedere qui