MySQL认为“e”与“é”相同?

时间:2014-03-11 10:53:00

标签: mysql sql database

我有一个包含以下列的表:

ID
名称

两者都已编入索引,两者都必须是唯一的。

一个帖子的名字是“ussé”。

我尝试插入名为“usse”的新帖子并收到以下错误:

[MySQL][ODBC 5.3(w) Driver][mysqld-5.6.16-log]Duplicate entry 'usse' for key 'name'.

什么......? MySQL无法区分这两个字符串吗?

有没有办法解决这个问题?

我的所有文本字段都选择了“utf8 - 默认排序规则”。这有什么不同吗?如果我需要将其更改为其他内容,是否有办法快速为所有数据库中的所有tex字段执行此操作?如果可以的话,有很多我想避免手动通过它们。

我的连接字符串:

DRIVER={MySQL ODBC 5.3 Unicode Driver}; SERVER=localhost;DATABASE=example; UID=example; PASSWORD=example; OPTION=3;

1 个答案:

答案 0 :(得分:0)

正如你在这里看到的: How to convert an entire MySQL database characterset and collation to UTF-8?

这是一个命令列表:

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;