我在mysql中有一个InnoDB
表,其中包含utf8
字符集和utf8_general_ci
排序规则。在以下查询之后:
SELECT * FROM `ticket`
WHERE `text` LIKE '%abc%'
ORDER BY `created_date` DESC
它返回包含"äbc"和包含"abc"的行。我试过在表上使用utf8_bin
排序规则,但并没有帮助。
我错过了什么?
附言:我以为问题出在PHP连接字符集上,但在Sequel Pro上执行查询后,我得到了同样的结果。
对于unicode排序规则(utf8_general_ci和utf8_unicode_ci),您有这样的等式:
Ä = A
Ö = O
Ü = U
这不是一个bug。
读这个http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html这个http://dev.mysql.com/doc/refman/5.0/en/charset-collation-effect.html