From: Chris R. <chr...@me...> - 2001-12-05 17:03:46
|
Karel Bijl <Kar...@cm...> wrote: >=20 > Hi, >=20 > I've installed perl-ldap and it works great! I'm using it to interface > with the ms-exchange global adress list. >=20 > But I do have I question that I cannot find an answer for on any website > (so far) > I have a search filter that searches on "sn=3DDunn=E9"=20 >=20 > This guy's name has an =E9 in it... When I search for this I do not get a > result.=20 > However if I search on a different field of this guy and look at what the > sn field is, it states "Dunn=C3=A9" >=20 > And when I use the regular ms outlook global adress list and look up this > guy it returns "Dunn=E9" >=20 > So my guess is that there are some charachter conversions somewhere? But > sofar I've been unable to find anything that could help. Your guess is correct. Different versions of LDAP used different character sets. If you are using LDAP v3 (you might not -- you should check), then all strings are Unicode and encoded using UTF-8. There are different ways of encoding some characters in Unicode, for instance e-acute can either be encoded as U+00E9 (lower case e acute), or U+0301 (non-spacing acute accent) followed by U+0065 (lower case e). It is possible that your client can only understand one way of encoding e acute, whereas your server understands both. So the server is interpreting your search correctly and returning the right entry, but your client's broken. There are two solutions: 1) fix the clients. Tricky if one of them comes from MS or Netscape. 2) modify the entries so that they contain the encodings that the clients understand. A trip to www.unicode.org will provide you with nice PDF files containing pictures of all the Unicode characters, in case you decide on option 2. Cheers, Chris |