Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用特殊字符的SQL搜索_Mysql_Utf 8 - Fatal编程技术网

Mysql 使用特殊字符的SQL搜索

Mysql 使用特殊字符的SQL搜索,mysql,utf-8,Mysql,Utf 8,我有一个表,其中包含德语名称,其中包含特殊字符,如:ä、ö、ü等。我就是这样搜索该表的: SELECT users.name FROM users WHERE users.name LIKE '%sch%' LIMIT 8 假设我们有一个名为Schön的用户,有人在search Schon中键入。上述代码将返回0行,因为ö!=o 处理这样的特殊角色时,最佳做法是什么?我知道我可以替换字符,但这毫无意义。查询将无法返回任何不包含sch的名称;这与o或o无关 显然,您的排序规则不进行大小写折叠,否

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

SELECT users.name FROM users WHERE users.name LIKE '%sch%' LIMIT 8
假设我们有一个名为Schön的用户,有人在search Schon中键入。上述代码将返回0行,因为ö!=o


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

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

显然,您的排序规则不进行大小写折叠,否则Schön中的Sch将被“%Sch%”之类的程序捕获


请提供“显示创建表用户”。您应该发现name的排序规则是…\u bin。这是S!=s和ö!=o、

尝试在mysql中选择ö=o,您将得到1,因为对于mysqldepens,如果ö=o等于或不等于@JayShankarGupta,则使用的字符集冲突是相同的。。我认为utf8_unicode_ci将是John所需要的冲突。那么像č、đ、đ等其他语言呢。。。?此外,我还尝试了utf8\uUnicode\uCI,但它不起作用。请提供SHOW CREATE TABLE-列定义有很大的不同。