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的解決方法。但是,這並不感覺最佳。