Åvsåå在mysql查询中不匹配 - 如何进行不区分大小写的匹配

时间:2014-12-20 10:46:45

标签: php mysql utf-8 mysqli case-sensitive

我在PHP开发了一个丹麦语网站。我正在使用mysqli

我在数据库字段中有像Daugård和Århus这样的词语。

当我运行如下的查询时,我希望这两个值都是结果。

Query : select * from table_name where tags like '%år%'; 
Expected result : Daugård and Århus both
Actual result : Daugård

现在它执行区分大小写的匹配并仅返回Daugård字。 我尝试通过函数set_charset('utf8')动态地将charset更改为utf8,但它不起作用。

'tags' field is 'utf8_general_ci'table collation is 'utf8_general_ci'database collation is 'latin1_swedish_ci'的整理。

帮助我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

要避免整理问题,请在"标记"上使用大小写转换功能。比较之前:

select * from table_name where lcase(tags) like '%år%';

我可能会遗漏一些东西,因为MySQL对我来说并不熟悉。我知道函数LOWER(tags)在Oracle中完成工作,只要搜索的模式也是小写的。