RE: Bug #12740 Updated: LDAP modify functions do not handle special characters

From: Date: Thu, 08 Nov 2001 19:30:39 +0000
Subject: RE: Bug #12740 Updated: LDAP modify functions do not handle special characters
Groups: php.dev 
Request: Send a blank email to php-dev+get-69824@lists.php.net to get a copy of this message
No, it still does not fix my problem. I don't know if I am missing the point but I don't see how my locale settings could help. Thanks for your patience Christian CHATEAUVIEUX -----Original Message----- From: Bug Database [mailto:php-dev@lists.php.net] Sent: 23 October 2001 10:08 To: Christian Chateauvieux Subject: Bug #12740 Updated: LDAP modify functions do not handle special characters ID: 12740 Updated by: sniper Reported By: christian@metamerge.com Old Status: Open Status: Feedback Bug Type: LDAP related Operating System: Linux RH 7.1 PHP Version: 4.0.5 New Comment: Okay, does the ldap server support ldap v3? If so, you should propably try to add this: ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3) --Jani Previous Comments: ------------------------------------------------------------------------ [2001-10-09 14:05:23] christian@metamerge.com What would the locale setting change? According to the docs, PHP have a UTF8 internal reprsentation of data... ------------------------------------------------------------------------ [2001-10-09 14:03:00] christian@metamerge.com // Here is a function to translate all values of a multi-dimensional array to UTF8 function encoder ($array) { while ( list ($key, $val) = each ($array) ) { if (!is_array($val)) $array[$key] = utf8_encode($val); else $array[$key] = encoder ($val); } return $array; } //Here is a call where // - $conn_id is a valid connection ID // - $dn is the dn of the object to add // - $array is the array containing the values of the attributes indexed by name $array = encoder($arr); ldap_add($conn_id, $dn, $array); // this call fails // - if $array contains a special char (e.g å, ø...) , thus returning SYNTAX ERROR // - if $dn contains a special char (e.g å, ø...) , thus returning No Such Object ------------------------------------------------------------------------ [2001-10-02 18:39:49] sniper@php.net I can't reprocude this with my test scripts. If this still happens with PHP 4.0.6, reopen. Check also your locale settings. ------------------------------------------------------------------------ [2001-08-14 09:50:59] sniper@php.net Please include a short example script in this report. ------------------------------------------------------------------------ [2001-08-14 09:41:24] christian@metamerge.com Hi, I am working with PHP 4.0.5 and OpenLDAP 2.0.11. I encounter problems when modifying some entries with attributes containing special chars (such as å, ø...). The error returned by the LDAP server is "invalid syntax". I have read some documentation about this. OpenLDAP can accept special chars, provided values are base64-encoded, when we use the tools that come with the application (ldapadd, ldapmodify, etc.). But how to do this from PHP functions? I tried to base64_encode the values, it naturally didn't do the trick (those values were considered as normal, and thus were not decoded - this polutes my directory.) Same goes for urlencoding. Please help! ------------------------------------------------------------------------ ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=12740&edit=2

« previous php.dev (#69824) next »