2

我正在从用户表中导入数据(来自许多站点的许多用户):
myisam default collation latin1_swedish....

将该数据导入到innodb table utf8_general

我在username,site_id组合上放置了一个唯一键,但这在同一站点的 2 个用户上失败:

user 1    dranfog,
user 2    drånfog

如果我运行:

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

直接在使用 utf8 编码的目标数据库上,我得到'yep'.

任何有关解决此问题的提示都非常受欢迎。我的印象是 utf8 会将这些视为不同的字符,但似乎并非如此。

4

1 回答 1

8

以结尾的排序规则_ci不区分大小写(和重音)。

您可以将排序规则更改为 'utf8_binary'dranfog区别于drånfog.

于 2011-10-18T14:31:49.970 回答