Hi Anton, Thank you for your suggestion. I tried executing the same query using the Softerra LDAP browser (which uses the Netscape LDAP C libraries), and got no results either. Microsoft's ldp.exe also returns no results.
Here is something more weirder. The query (cn=Ç*) returns no results, but the query (cn=Çm*) returns the desired results. The LDAP server I am using is an IBM Domino Notes server. I am going create a similar entry on ur AD server see if I get similar results. I will post my finding tomorrow. -Alexei Anton Bobrov wrote: > i'm not sure what exactly those macros do and if its a good idea > to implant them in there or not but i would start by checking yr > server logs, making sure correct entries in fact do exist, trying > to retrieve them using ldapsearch or alike. you can also try ICU > library which does pretty good job on converting from/to whatever > its cross platform and its open source as well [ IBM license ]. > > http://icu.sourceforge.net/ > http://icu.sourceforge.net/apiref/icu4c/index.html > > good luck! > > ialexei wrote: > > Platform : MS Windows XP, VC++.net 2003, ATL > > > > I am able to query all nodes in the LDAP tree except for the ones that > > begin with Ç. > > The CT2AEX<>(..,CP_UTF8) seem to be converting to UTF8 successfully, > > but the ldap_first_entry returns NULL. > > > > I also tried setting the option to use LDAP version 3.0, but that does > > not work either. Any ideas what is going on ? > > > > I modified the sample in the SDK search.c (enclosed below) with similar > > results. > > > > -Alexei > > > > #define MY_FILTER _T("(cn=Ç*)") > > > > int _tmain(int argc, _TCHAR* argv[]) > > { > > LDAP *ld; > > LDAPMessage *result, *e; > > BerElement *ber; > > char *a, *dn; > > char **vals; > > int i; > > > > /* get a handle to an LDAP connection */ > > if ( (ld = ldap_init( CT2AEX<>(MY_HOST, CP_UTF8), MY_PORT )) == NULL ) > > { > > perror( "ldap_init" ); > > return( 1 ); > > } > > /* authenticate to the directory as nobody */ > > if ( ldap_simple_bind_s( ld, NULL, NULL ) != LDAP_SUCCESS ) { > > ldap_perror( ld, "ldap_simple_bind_s" ); > > ldap_unbind( ld ); > > return( 1 ); > > } > > /* search for all entries with surname of Jensen */ > > if ( ldap_search_s( ld, CT2AEX<>(MY_SEARCHBASE, CP_UTF8), > > LDAP_SCOPE_SUBTREE, > > CT2AEX<>(MY_FILTER, CP_UTF8), NULL, 0, &result ) != > > LDAP_SUCCESS ) { > > ldap_perror( ld, "ldap_search_s" ); > > if ( result == NULL ) { > > ldap_unbind( ld ); > > return( 1 ); > > } > > } > > /* for each entry print out name + all attrs and values */ > > for ( e = ldap_first_entry( ld, result ); e != NULL; > > e = ldap_next_entry( ld, e ) ) { > > if ( (dn = ldap_get_dn( ld, e )) != NULL ) { > > printf( "dn: %s\n", dn ); > > ldap_memfree( dn ); > > } > > for ( a = ldap_first_attribute( ld, e, &ber ); > > a != NULL; a = ldap_next_attribute( ld, e, ber ) ) { > > if ((vals = ldap_get_values( ld, e, a)) != NULL ) { > > for ( i = 0; vals[i] != NULL; i++ ) { > > printf( "%s: %s\n", a, vals[i] ); > > } > > ldap_value_free( vals ); > > } > > ldap_memfree( a ); > > } > > if ( ber != NULL ) { > > ber_free( ber, 0 ); > > } > > printf( "\n" ); > > } > > ldap_msgfree( result ); > > ldap_unbind( ld ); > > > > > > return( 0 ); > > } > > > > _______________________________________________ > > mozilla-directory mailing list > > [email protected] > > http://mail.mozilla.org/listinfo/mozilla-directory _______________________________________________ mozilla-directory mailing list [email protected] http://mail.mozilla.org/listinfo/mozilla-directory
