2009-06-02 3 views
0

ich die folgende Fehlermeldung erhalten:Illegal Mix von Sortierungen (latin1_swedish_ci, coercible) und (utf8_general_ci, IMPLIZIT) für den Betrieb 'FIND_IN_SET'

Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (utf8_general_ci,IMPLICIT) for operation 'find_in_set'

Dies ist die Abfrage, die ich ausführen wollte:

SELECT ID FROM xs_user_profiles WHERE ID='' AND FIND_IN_SET('1',site_structure); 

Ich habe die Eigenschaften dieser Tabelle nachgeschlagen und sie hat setf8 und die Sortierung utf8_general_ci beschrieben.

Dies funktioniert gut mit all meinen Websites, so dass ich nicht sicher bin, was schief läuft.

+0

Mögliche Duplikate von [Fehlerbehebung "Ungültige Mischung von Kollationen" Fehler in MySQL] (http://StackOverflow.com/Questions/3029321/troubleshooting-illegal-mix-of-Collations-error-in-Mysql) – Jocelyn

Antwort

2

Wenn Sie mit mysqli, diesem Befehl direkt nach dem Anschließen:

$mysqli->set_charset("utf8"); 

Dies wird Ihre Verbindung Codierung UTF8 gesetzt (die gleiche wie Ihre Tabelle verwendet).

Mit Ebene mysql, verwenden Sie diese:

mysql_query("SET NAMES utf8", $conn); 
mysql_query("SET CHARACTER SET utf8", $conn); 
+0

Danke für deine Reaktion, aber ich benutze einfach mysql. – sanders

0

Ich bin Ihr Stringliteral (‚1‘) zu raten ist in einer anderen Zusammenstellung aufgrund unterschiedlicher Verbindungsvariablen. Siehe here

Verwandte Themen