我有一个带表的UTF8 InnoDB数据库,比如'words':
> desc words;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | UNI | NULL | |
+-------+-------------+------+-----+---------+----------------+
当我执行查询时
select * from word where name = 'Télécom';
我得到了一个我无法解释的奇怪结果:
+------+---------+
| id | name |
+------+---------+
| 4980 | telecom |
+------+---------+
提前致谢!
答案 0 :(得分:2)
这是因为整理 - 它定义了如何比较角色以及哪些角色被认为是相同的。它可能是期望的结果,并且它可能不是 - 在最后一种情况下,使用二进制整理,并且只有严格相等的字符串才被认为是相等的。但请记住,二进制排序规则也区分大小写