Неверное сочетание параметров сортировки (latin1_swedish_ci, COERCIBLE) и (utf8_general_ci, IMPLICIT) для операции 'find_in_set' - PullRequest
0 голосов
/ 02 июня 2009

Я получаю следующую ошибку:

Нелегальная смесь сопоставлений (latin1_swedish_ci, COERCIBLE) и (utf8_general_ci, IMPLICIT) для операция 'find_in_set'

Это запрос, который я пытался выполнить:

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

Я посмотрел свойства этой таблицы, в ней есть кодировка utf8 и сопоставление utf8_general_ci.

Это хорошо работает со всеми моими сайтами, поэтому я не уверен, что происходит не так.

Ответы [ 2 ]

2 голосов
/ 02 июня 2009

Если вы используете mysqli, введите команду сразу после подключения:

$mysqli->set_charset("utf8");

Это установит кодировку вашего соединения на UTF8 (так же, как ваша таблица).

С простой mysql, используйте это:

mysql_query("SET NAMES utf8", $conn);
mysql_query("SET CHARACTER SET utf8", $conn);
0 голосов
/ 02 июня 2009

Я предполагаю, что ваш строковый литерал ('1') находится в другом сопоставлении из-за разных переменных соединения. Смотрите здесь

...