作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个网站,我刚刚为其编写了一个很棒的搜索功能。我刚刚意识到我的数据库中有一些带有重音符号的单词。因此,当有人输入要搜索的单词(当然没有重音符号)时,他们不会找到他们要查找的内容。
目前大多数搜索功能已经解决了这个问题;他们是如何做到的呢?其中一定有什么巧妙的技巧。我的大多数查询都使用 mysql 的 MATCH 功能,但其中之一使用 LIKE。
最佳答案
您需要设置特定的 collation以便 MySQL 知道哪些字符应该是等效的。带变音符号的字母是否被视为与不带变音符号的字母或其他字符序列相同取决于语言,但请尝试 utf8_general_ci 作为忽略重音的起点(假设您使用的是 UTF-8 字符集,您可以使用 utf8_general_ci 作为忽略重音符号的起点)应该是真的)。
尝试对所有字符串使用相同的排序规则,以便可以连接和比较它们,而无需进行昂贵的、破坏索引的转换。
关于mysql - 与带有重音符号、变音符号等的单词匹配 mysql/php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419394/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!