UTF8 and Net_LDAP2: It is hard to know exactly what entries need utf8 every time you need them, so here's the simple way to salvation: Net_LDAP2 will check internally if utf8 is needed. Code: // $attr is some text a user entered with funny characters in it. // If $attr should not be utfized (f.x. userPassword) then utf8Encode // will not encode the attribute. $attr = $ldap->utf8Encode($attr); // now insert the correctly encoded attribute into the directory. $entry->modify($attr); // later when you access the attributes of that user, decode the ones // that have to be decoded. $attr = $ldap->utf8Decode( $entry->attributes() ); Thanks to Jan for the code.