使用特殊字符进行SQL搜索

时间:2018-02-24 18:47:45

标签: mysql utf-8

我有一个包含德语名称的表格,其中包含特殊字符:ä,ö,ü等。这就是我搜索该表的方式:

SELECT users.name FROM users WHERE users.name LIKE '%sch%' LIMIT 8

假设我们有一个名为"Schön"的用户,并且有人在搜索"Schon"中输入。上面的代码将返回自ö != o以来的0行。

处理这样的特殊字符时,最佳做法是什么?我知道我可以替换角色,但那是毫无意义的。

1 个答案:

答案 0 :(得分:1)

查询将无法返回任何不包含sch的名称;它与oö无关。

显然,您的整理不会进行大小写折叠,否则Sch中的Schön会被LIKE '%sch%'捕获。

请提供SHOW CREATE TABLE users。您应该会发现name的排序规则为..._bin。这表示S!= s ö!= o