【发布时间】:2011-11-28 17:36:09
【问题描述】:
我正在尝试编写一个搜索来查询我们运行 openldap 的目录服务器。
用户将使用他们感兴趣的人的名字或姓氏进行搜索。
我发现重音字符有问题(例如áéíóú),因为名字和姓氏都是用西班牙语写的,所以虽然正确的方法是Pérez,但为了便于搜索,可以写成Perez , 没有重音。
如果我使用'(cn=*Perez*)',我只会得到非重音结果。
如果我使用'(cn=*Pérez*)',我只会得到重音结果。
如果我使用 '(cn=~Perez)',我会得到奇怪的结果(或者至少没有我可以使用的结果,因为虽然结果同时包含 Perez 和 Pérez 出现,但我也会得到一些显然与查询...
在西班牙语中,这种情况经常发生......无论是懒惰,无论你想怎么称呼它,事实是对于这种事情,人们倾向于不写口音,因为它假定所有这些搜索都适用两种选择(我想既然谷歌允许这样做,每个人都认为它应该以这种方式工作)。
除了更新数据库并删除所有重音并在查询中修剪它们...您能想到其他解决方案吗?
【问题讨论】: