作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要:
piščanec = mysql 中的 piscanec。我的意思是,我想搜索 piscanec 以找到 piščanec。
所以 č 和 c 是一样的,š 和 s 等等......
我知道可以使用正则表达式来完成,但这很慢:-(还有其他方法可以使用 LIKE 吗?我也经常使用全文搜索。
更新:
select CONVERT('čšćžđ' USING ascii) as text
不起作用。产生:??????
最佳答案
使用排序规则 utf8_generic_ci
声明列。此排序规则认为 š 等于 s,而 č 等于 c:
create temporary table t (t varchar(100) collate utf8_general_ci);
insert into t set t = 'piščanec';
insert into t set t = 'piscanec';
select * from t where t='piscanec';
+------------+
| t |
+------------+
| piščanec |
| piscanec |
+------------+
如果您不想或不能对列使用 utf8_generic_ci
排序规则——也许您在该列上有一个唯一索引并且想要考虑 piščanec 和 piscanec 不同?——您只能在查询中使用排序规则:
create temporary table t (t varchar(100) collate utf8_bin);
insert into t set t = 'piščanec';
insert into t set t = 'piscanec';
select * from t where t='piscanec';
+------------+
| t |
+------------+
| piscanec |
+------------+
select * from t where t='piscanec' collate utf8_general_ci;
+------------+
| t |
+------------+
| piščanec |
| piscanec |
+------------+
FULLTEXT 索引应该直接使用列排序规则;您不需要定义新的排序规则。显然全文索引只能在列的存储排序规则中,所以如果你想使用 utf8_general_ci
进行搜索和 utf8_slovenian_ci
进行排序,你必须使用 use collate
顺序为:
select * from tab order by col collate utf8_slovenian_ci;
关于mysql - 如何在 mysql 中搜索以使重音字符与非重音字符相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12949800/
我是一名优秀的程序员,十分优秀!