2010-06-29 30 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,但。