Illegal mix di regole di confronto (latin1_swedish_ci, Coercible) e (utf8_general_ci, implicita) per il funzionamento 'find_in_set'

StackOverflow https://stackoverflow.com/questions/940107

  •  06-09-2019
  •  | 
  •  

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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top