2014-10-30 61 views

回答

0

utf8_general_ci排序规则既不区分大小写又不区分重音,因此您的查询将返回包含字母'n'的所有行,大写或小写,加重或不加重。请参阅http://dev.mysql.com/doc/refman/5.6/en/charset-collation-effect.html了解归类如何影响搜索和比较。

您可以通过在SQL语句末尾添加'COLLATION new_collat​​ion'来更改给定SQL语句的排序规则。因此,这应该为你工作:

SELECT * FROM table WHERE title LIKE '%ñ%' COLLATION utf8_bin;

+0

我的整理是utf8_unicode_ci不utf8_general_ci。 另一方面,应该更好地让我的数据库更改为排序规则utf8_bin? – user3173855 2014-10-30 17:00:36

+0

最好使用对数据库中的ORDER BY子句有意义的排序规则,即。 utf8_general_ci,并且如果您想要完全匹配,则只需在特定语句中更改排序规则。通过这种方式,如果应用程序显示列表,它们将按照逻辑顺序排列在最终用户的屏幕上。 – 2014-10-30 20:01:08