The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Net::LDAP и русская кодировка"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Net::LDAP и русская кодировка"  
Сообщение от Anton email(??) on 01-Сен-06, 09:52 
При добавлении новой записи, вида $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. Результат аналогичен.

Спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Net::LDAP и русская кодировка"  
Сообщение от apr2504 (??) on 02-Сен-06, 11:49 
>При добавлении новой записи, вида $dn = "cn=Иванов Иван Иванович,dc=example,dc=ru" получаю ошибку

Надо попробовать каким-нибудь LDAP-клиентом, если сработает, то
проблема в перловских библиотеках. Сталкивался с подобной ситуацией, вылечилось
правкой файла схемы OpenLDAP'а. Какого не помню: давно дело было. Смысл в том, что
описание cn выражается через формат без поддержки юникода. Меняем описание и всё работает.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Net::LDAP и русская кодировка"  
Сообщение от Anton email(??) on 04-Сен-06, 09:41 
>>При добавлении новой записи, вида $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 такое представление не работает.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Net::LDAP и русская кодировка"  
Сообщение от mail on 07-Сен-06, 11:45 
>При добавлении новой записи, вида $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.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру