2009-06-02 38 views
0

私は次のエラーを取得する:操作 'FIND_IN_SET' の不正な照合順序のミックス(latin1_swedish_ci、強制可能)および(utf8_general_ci、IMPLICIT)

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

これは私が実行しようとしていたクエリです:

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

私はこのテーブルのプロパティを参照し、charset utf8と照合utf8_general_ciを持っています。

これは私のすべてのサイトでうまくいくので、何がうまくいかないのか分かりません。

+0

「[mysqlの不正な組み合わせの照合」のトラブルシューティング]の可能な複製(http://stackoverflow.com/questions/3029321/troubleshooting-illegal-mix-of-collat​​ions-error-in-mysql) – Jocelyn

答えて

2

あなたが正しい接続した後、このコマンドmysqli、問題を使用している場合:

$mysqli->set_charset("utf8"); 

これは、(あなたのテーブルの用途と同じ)UTF8への接続のエンコーディングを設定します。異なるため、接続変数に私は文字通りあなたの文字列(「1」)を推測している

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

あなたの反応をありがとうが、私はプレーンmysqlを使用します。 – sanders

0

別の照合順序である:平野mysql

は、これを使用しています。 here

関連する問題