Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带重音字符的ldapsearch_Ldap_Non Ascii Characters - Fatal编程技术网

使用带重音字符的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将它们视为不同的字符,但将字符的所有重音版本视为相同是大多数搜索引擎的标准行为。