2010-06-29 34 views
0

看起来LDAP需要具有非ASCII字符的字符串进行Base64编码。告诉它一个字符串将被解析为base64编码的字符串的方式是向属性名称添加一个额外的冒号,使得“cn:name”变成“cn :: name”(根据this site)。Ruby/LDAP非ASCII字符支持

现在,我的问题是:如何告诉Ruby LDAP来做到这一点?我找不到documentation提到它的任何事情,但也许它是支持的。

其他LDAP库如Net :: LDAP如何?他们是否支持使用非ASCII字符的操作?

更新: 测试套件的Ruby/LDAP(0.9.7,红宝石v 1.8.6)包括用于将条目添加与在LDAP外国字符测试。他们设置了$KCODE="UTF8"。但是,这似乎对我的设置没有影响。

只要dn中只有ASCII字符,属性就允许使用非ASCII字符,所以我当前使用的是一个只有ASCII码的uid的解决方法。但是,这并不感觉最佳。

回答

0

我通过切换到Net :: LDAP(使用感觉更好)来解决问题。这需要我升级到红宝石1.8.7,但。