使用带重音字符的ldapsearch
我正在使用使用带重音字符的ldapsearch,ldap,non-ascii-characters,Ldap,Non Ascii Characters,我正在使用ldapsearch命令来查询OpenLDAP服务器,虽然在大多数情况下都可以正常工作,但对于西班牙语或法语等语言中的特殊字符并不十分智能 我的意思是,如果我执行查询: ldapsearch-h myhost“givenName=Ramón” 它将输出姓名为Ramón的人,但不会输出姓名为Ramon的人(这是非常常见的,以避免特殊字符的问题)。我可以很聪明地执行查询,如下所示: ldapsearch-h myhost“givenName=Ram*n” 它工作得很好,输出了所有可能的变化
ldapsearch
命令来查询OpenLDAP服务器,虽然在大多数情况下都可以正常工作,但对于西班牙语或法语等语言中的特殊字符并不十分智能
我的意思是,如果我执行查询:
ldapsearch-h myhost“givenName=Ramón”
它将输出姓名为Ramón
的人,但不会输出姓名为Ramon
的人(这是非常常见的,以避免特殊字符的问题)。我可以很聪明地执行查询,如下所示:
ldapsearch-h myhost“givenName=Ram*n”
它工作得很好,输出了所有可能的变化,但我想知道是否有什么方法可以告诉ldapsearch在搜索中只包含字符的重音版本,因此对Ramon
的搜索既包括Ramon
也包括Ramon
结果。现在大多数搜索引擎都已经在做了,所以也许有一种方法可以用LDAP来做
提前感谢您需要根据 通常,您需要转义中列出的项目,我建议,也可以转义任何非UTF8字符 我还找到了一些帮助你开始学习的方法 最后,退出它。 开始填充搜索描述或其他非命名属性。(不属于DN的任何属性)使您的DNs永不更改。任何用户都不应该看到一个DN,它应该只是一个条目的路径。如果继续这种做法,您将遇到许多“现成”工具的问题 至于返回“a”而不是“umlaut”(或类似的东西)。 好消息是LDAP是轻量级的,并且没有那些为程序员完成所有工作的奇特函数。坏消息是一样的
LDAP不提供任何这样的功能来转换您想要的特许权。我的问题不是通过转义来解决的,事实上我已经可以使用重音字符执行搜索了,没有问题。我想实现的是,一次搜索,比方说搜索一个包含字母“a”的单词,会返回字母a的所有外观,但也会返回那些a带有重音/umlauted/whatever的外观。目前,ldapsearch没有出现这种情况,因为每个不同版本的“a”都有不同的UTF-8代码,因此ldapsearch将它们视为不同的字符,但将字符的所有重音版本视为相同是大多数搜索引擎的标准行为。