Неверное сочетание параметров сортировки в MySQL с использованием арабского - PullRequest
0 голосов
/ 11 марта 2011

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

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

это ответ на запрос в моем приложении:

SELECT count(1) as idExists
FROM user
WHERE userName = 'خالد'

Насколько я понимаю, это происходит потому, что вводимые символы чужды типу сопоставления, используемому для моей таблицы.

Так что мой вопрос в том, какое сопоставление следует использовать для этого? Таблица пользователей в настоящее время установлена ​​на UTF8, что я считаю правильным, но, очевидно, я ошибаюсь. Должен ли он измениться на Latin1 или есть лучшее сопоставление, которое обрабатывает все символы ??

Спасибо

1 Ответ

1 голос
/ 11 марта 2011

Вы не должны использовать Latin1, если хотите иметь возможность хранить арабский (или греческий, кириллица, японский и т. Д.).UTF-8 (или другая кодировка Unicode) - это путь.

Вы уверены, что для столбца имени пользователя в таблице не задано сопоставление?

...