我有一个包含德语名称的表格,其中包含特殊字符:ä,ö,ü等。这就是我搜索该表的方式:
SELECT users.name FROM users WHERE users.name LIKE '%sch%' LIMIT 8
假设我们有一个名为"Schön"
的用户,并且有人在搜索"Schon"
中输入。上面的代码将返回自ö != o
以来的0行。
处理这样的特殊字符时,最佳做法是什么?我知道我可以替换角色,但那是毫无意义的。
答案 0 :(得分:1)
查询将无法返回任何不包含sch
的名称;它与o
或ö
无关。
显然,您的整理不会进行大小写折叠,否则Sch
中的Schön
会被LIKE '%sch%'
捕获。
请提供SHOW CREATE TABLE users
。您应该会发现name
的排序规则为..._bin
。这表示S
!= s
和 ö
!= o
。