我有一个名为的表products
,其中有一个varchar
名为name
encoding in的列latin1_swedish_ci
。
我正在尝试进行搜索查询,以便name
使用如下所示的MATCH() AGAINST()
句子过滤产品:
SELECT *
FROM products
WHERE MATCH(name) AGAINST('*search_string*' IN BOOLEAN MODE)
它非常适合没有重音符号的 varchars,但是,如果我有一个名为的产品Colágeno
并且搜索输入是Colageno
,则查询不会捕获该产品。
所以我尝试了这个 SO 答案中显示的内容,但没有成功。
SELECT * FROM products WHERE MATCH(CONVERT(BINARY(name) USING utf8)) AGAINST('*Colageno*' IN BOOLEAN MODE)
我得到了错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'CONVERT(BINARY(name) USING utf8)) AGAINST('*Colageno*' IN BOOLEAN MODE)' 附近使用正确的语法
我只想捕捉特殊字符,例如á, é, í, ó, ú
.
提前致谢!