кодировка mysql utf8 и уникальные ключи - PullRequest
2 голосов
/ 18 октября 2011

Я импортирую данные из пользовательской таблицы (многие пользователи со многих сайтов):
myisam default collation latin1_swedish ....

Импорт этих данных в innodb table utf8_general

Iпоместили уникальный ключ в комбинацию username,site_id, но это не помогло двум пользователям одного и того же сайта:

user 1    dranfog,
user 2    drånfog

Если я запустил:

SELECT IF('å' = 'a', 'yep', 'nope');

непосредственно на целевой базе данныхс кодировкой utf8 я получаю 'yep'.

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

1 Ответ

8 голосов
/ 18 октября 2011

Параметры сортировки, заканчивающиеся на _ci, нечувствительны к регистру (и акценту).

Вы можете изменить параметры сортировки на 'utf8_binary', чтобы трактовать dranfog иначе, чем drånfog.

...