我使用ldapsearch
命令查询OpenLDAP服务器,虽然在大多数情况下都能正常工作,但对于西班牙语或法语等语言中的特殊字符,我不是很聪明。
我的意思是,如果我执行查询:
ldapsearch -h myhost "givenName=Ramón"
它将输出名称为Ramón
的人,但不会输出名称输入为Ramon
的人(为了避免特殊字符的问题,这种情况非常频繁)。我可以很聪明,只需将查询执行为:
ldapsearch -h myhost "givenName=Ram*n"
它工作得很好,可以输出所有可能的变体,但我想知道是否有什么方法可以告诉ldapsearch在搜索中只包括字符的重音版本,所以搜索Ramon
包括Ramon
和Ramón
结果。现在大多数搜索引擎都已经这样做了,所以也许有一种方法可以用LDAP来做到这一点。
提前感谢
您需要根据RFC 4515搜索过滤器的字符串表示来转义字符串
通常,您需要转义RFC 4515搜索过滤器的字符串表示中列出的项目,我建议您也转义任何非UTF8字符。
我还发现了一些可能有助于你开始的方法。
最后,退出它。开始填充搜索Description或其他非命名属性。(任何不属于DN的属性)使您的DN永远不会更改。任何用户都不应该看到一个DN,它应该只是一个条目的路径。如果你继续这种做法,你会遇到许多"搁置"工具的问题。
至于返回"a"而不是"元音变音符"(或类似的东西)。好消息是LDAP是轻量级的,并且没有为程序员完成所有工作的那些花哨的函数。坏消息是一样的。
LDAP不提供任何这样的功能来转换您想要的章程。