URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6822
[ Назад ]

Исходное сообщение
"Net::LDAP и русские названия OU"

Отправлено YuXuan , 09-Окт-07 10:25 
Делаю скрипт на php - прекрасно работает, но нужно тоже самое сделать на perl.

К примеру, простенький скриптик, указанный ниже, выдает вот такую ошибку:
0000208F: NameErr: DSID-03001AA, problem 2006(BAD_NAME), data 8350, best match of:
'ou=,dc=domain,dc=ru'

Соответственно, вопрос: Как мне заставить скрипт работать с русскими ou?

#!/usr/bin/perl
use Net::LDAP;

$filter = "objectClass=computer";

$ldapconnect = Net::LDAP->new('server.ocv.ru');
$ldapconnect->bind('USER', password => 'pass');
$dn = "ou=Подразделение,dc=domain,dc=ru";

$mesg = $ldapconnect->search(attrs => ['cn'], base => $dn, filter=>$filter);                            

$mesg->code && die $mesg->error;

print $mesg->count;
$ldapconnect->unbind;


Содержание

Сообщения в этом обсуждении
"Net::LDAP и русские названия OU"
Отправлено geekkoo , 09-Окт-07 11:09 
>[оверквотинг удален]
>$ldapconnect = Net::LDAP->new('server.ocv.ru');
>$ldapconnect->bind('USER', password => 'pass');
>$dn = "ou=Подразделение,dc=domain,dc=ru";
>
>$mesg = $ldapconnect->search(attrs => ['cn'], base => $dn, filter=>$filter);                            
>
>$mesg->code && die $mesg->error;
>
>print $mesg->count;
>$ldapconnect->unbind;

Синтаксис ou 1.3.6.1.4.1.1466.115.121.1.15 (уникодная строка). Так что надо перекодировать  русский в UTF8.


"Net::LDAP и русские названия OU"
Отправлено YuXuan , 09-Окт-07 11:45 
>Синтаксис ou 1.3.6.1.4.1.1466.115.121.1.15 (уникодная строка). Так что надо перекодировать  русский в
>UTF8.

А можно чуть подробнее, каким образом это осуществить?
При помощи decode_utf8?