Figured out my own problem.. removing "use utf8" from the script allows it to work properly.
"Phillip E. Thomas" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > hi, I am trying to use perl's Net::LDAP module to manipulate data in > eDirectory 8.6.2. We are located in Scandinavia and have many attributes > that include utf8 characters. > > use utf8; > use Net::LDAP; > use Net::LDAP::LDIF; > use Unicode::String qw(latin1 utf8); > > The following ldap search works fine, and prints output in the desired > latin1 charset: > > $mesg = $ldap->search ( base => "o=org", > filter => "(&(objectclass=user)(cn=$cn))" > ); > foreach $entry ($mesg->all_entries) { > print > utf8($entry->get_value(sn))->latin1, "\n"; > > > However, I have problems doing LDAP modifies using similar data. > > $sname="some name in latin1 charset"; > $result = $ldap->modify ($user->dn, > replace => { sn => latin1($sname)->utf8 } > ); > > This ldap modify succeeds for an ordinary name like "Smith", but for a name > with extended characters like "S�rensen", the call never returns. It seems > like the LDAP server blocks for some reason. > > I can do the similar utf8/latin1 encoding with Net::LDAP::LDIF methods and > build valid LDIF entries that load fine into eDirectory. The LDIF methods > automatically base-64 encode the utf8 data. > > Does anyone have any idea why the LDAP server would not return? > > Thanks, > Phillip > >
