При добавлении новой записи, вида $dn = "cn=Иванов Иван Иванович,dc=example,dc=ru" получаю ошибку - invalid DN. Английские записи добавляются без проблем.use Net::LDAP;
$result = $ldap->add( "$dn",
attr => [
'objectclass' => ['top', 'person', 'organizationalPerson', 'inetOrgPerson', 'mozillaAbPersonObsolete' ],
'cn' => "$cn",
'givenName' => "$gn",
'mail' => "$login\@example.ru",
'o' => "$o",
'ou' => "$ou",
'sn' => "$sn"
]
);Пробовал заворачивать записи через encode_utf8, затем encode_base64 и отдавать это $ldap->add. Результат аналогичен.
Спасибо.
>При добавлении новой записи, вида $dn = "cn=Иванов Иван Иванович,dc=example,dc=ru" получаю ошибкуНадо попробовать каким-нибудь LDAP-клиентом, если сработает, то
проблема в перловских библиотеках. Сталкивался с подобной ситуацией, вылечилось
правкой файла схемы OpenLDAP'а. Какого не помню: давно дело было. Смысл в том, что
описание cn выражается через формат без поддержки юникода. Меняем описание и всё работает.
>>При добавлении новой записи, вида $dn = "cn=Иванов Иван Иванович,dc=example,dc=ru" получаю ошибку
>
>Надо попробовать каким-нибудь LDAP-клиентом, если сработает, то
>проблема в перловских библиотеках.Утилита ldapadd via ldif файл добавляет записи без проблем. Но записи преобразованы через UTF8, а затем Base64, вида dn:: base64blabla. Так же не возникает проблем при работе phpldapadmin с каталогом.
>Сталкивался с подобной ситуацией, вылечилось
>правкой файла схемы OpenLDAP'а. Какого не помню: давно дело было. Смысл в
>том, что
>описание cn выражается через формат без поддержки юникода. Меняем описание и всё
>работает.Я так понимаю, что любое не ISO-8859-1 представление должно отдаваться ldap-либам в UTF8 + Base64 обработке. В моем perl-коде, через Net::LDAP такое представление не работает.
>При добавлении новой записи, вида $dn = "cn=Иванов Иван Иванович,dc=example,dc=ru" получаю ошибку
>- invalid DN. Английские записи добавляются без проблем.
>
>use Net::LDAP;
>
>$result = $ldap->add( "$dn",
> attr => [
> 'objectclass' => ['top', 'person', 'organizationalPerson', 'inetOrgPerson', 'mozillaAbPersonObsolete' ],
> 'cn' => "$cn",
> 'givenName' => "$gn",
> 'mail' => "$login\@example.ru",
> 'o' => "$o",
> 'ou' => "$ou",
> 'sn' => "$sn"
>
> ]
>);
>
>Пробовал заворачивать записи через encode_utf8, затем encode_base64 и отдавать это $ldap->add. Результат аналогичен.
>
>Спасибо.я делаю таким же способом без проблем. используй use utf8.