mysql utf8编码和唯一键

时间:2011-10-18 14:25:47

标签: mysql unicode utf-8 collation unique-index

我正在向用户表(来自许多站点的许多用户)输入数据:
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会将这些视为不同的特征,但事实并非如此。

1 个答案:

答案 0 :(得分:8)

_ci结尾的归类是大小写(和重音)不敏感。

您可以将排序规则更改为“utf8_binary'”,以dranfog的方式处理drånfog