我在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'
的整理。
帮助我如何实现这一目标?
答案 0 :(得分:1)
要避免整理问题,请在"标记"上使用大小写转换功能。比较之前:
select * from table_name where lcase(tags) like '%år%';
我可能会遗漏一些东西,因为MySQL对我来说并不熟悉。我知道函数LOWER(tags)在Oracle中完成工作,只要搜索的模式也是小写的。