select * from table where key='çmyk'
当我在表上运行此查询时,其行的值为'cmyk'。
查询返回该行。但价值观是不同的。当我搜索'çmyk'时它返回'cmyk'。
所以我该怎么办?
MySQL charset:UTF-8 Unicode(utf8) MySQL连接排序规则:utf8_unicode_ci table collation:latin1_swedish_ci
答案 0 :(得分:2)
问题是latin1_swedish_ci
排序不仅不区分大小写,而且对变音不敏感,因此以下情况适用:
Ä = A
Ö = O
etc.
在WHERE子句中切换到区分大小写的排序规则应该可以正常工作,如下所示:
select * from table where key='çmyk' collate latin1_general_cs;
但需要注意的是,这对性能不利。
答案 1 :(得分:-1)
尝试运行命令SET NAMES latin1;
,然后运行查询。