我正在处理一个使用德语名字的数据库,例如 Fürst
。现在我建立了一个带有搜索框的 HTML 表单。使用了 htmlentities
和一些测试来确保没有输入“坏东西”,然后在查询之前使用了 html_entity_decode
。一个简单的查询看起来像这样:
SELECT * FROM user_table WHERE firstname LIKE "%fü%" OR lastname LIKE "%fü%"
然而,这个发现不仅包括
Fürst
,还有 Furt
。我该如何解决?数据库和表格都是使用 utf8_unicode_ci
,必须保持这样的格式。
WHERE firstname collate german_ci like...
。 - jarlhgerman_ci
。当我使用latin1_german2_ci
时,它会显示:#1253 - COLLATION 'latin1_german2_ci' is not valid for CHARACTER SET 'utf8'
。当我尝试使用utf8_unicode_ci
时,结果与原帖相同。 - yangsunny