From: Jean-Philippe T. <jph...@fr...> - 2007-02-19 21:06:42
|
On Mon, 19 Feb 2007 12:04:46 +0100 Michael Ströder <mi...@st...> wrote: > jph...@fr... wrote: > > > > I can not use 8 bits chars in search or add functions while I > > have no issue with these characters in Luma :-( It seems to be related to string > > encoding. Luma makes an intensive use of the "unicode" function. So I tried that > > piece of code but without success: > > > >>>> import ldap > >>>> CON=ldap.open('localhost.localdomain') > >>>> CON.simple_bind_s('','') > >>>> CON.search_s('ou=amis,dc=localdomain',ldap.SCOPE_SUBTREE,u'(cn=th�*)') > > You have to pass raw strings to python-ldap since the API does not > handle Unicode strings automatically. > > So something like u'(cn=th�*)'.encode('utf-8'). > > Not sure what the � is in your e-mail though. Therefore I'd recommend > not to directly write 8-bit chars into the Python source code. Rather > use the escaping \x.. > > Complete example with my last name within Python shell and shell charset > being UTF-8. > > Python 2.5 (r25:51908, Nov 27 2006, 19:14:46) > [GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> ustr=unicode('Ströder','utf-8') > >>> ustr > u'Str\xf6der' > >>> ustr.encode('utf-8') > 'Str\xc3\xb6der' > >>> > > Ciao, Michael. > Thanks to you (and Bjorn ;-)). It works far better now. Life would have been far easier if English was full of strange chars :-) Jean-Philippe |