Ede Wolf wrote:
> Hello,
> 
> This is probably more a ldif than an OpenLDAP question, but still, maybe 
> somebody knows the answer: Is there a way to put multibyte characters into an 
> attribute
> value and let the server know, these are not to be treated literally, but are 
> utf8 character encodings?

Strings in LDAPv3 are all UTF-8, by definition. This is in RFC4511 section 
4.1.2.
> 
> I've tried to dig into rfc3629 and 4517, but those were above my capabilities.
> 
> It does of course work for the dn, it also works, if I provide base64 code to 
> the attributes, but is there a way, to directly put them into a ldif an let 
> the
> server know, these are character encodings?
> Also, rfc2849 only talks about not line breaking multi-byte characters.

base64 encoding for LDIF values is mostly optional. As long as the string 
you're entering doesn't have
embedded NUL or CR/LF characters, you don't need to use base64.
> 
> In this silly, but easy, example, both cn: and description: are entered 
> literally, while the dn words as intended:
> 
> dn: cn=A \F0\9F\99\82 Test,dc=example,dc=com
> cn: A \F0\9F\99\82 Test
> objectClass: person
> sn: Test
> description: %xF0%x9F%x99%x82 Test
> 
> This is about understanding, not about the intention, to really put a smily 
> into a dn. I am aware, this a potential recipe for disaster.
> 
> Also, I am aware, the OpenLDAP kindly adds a proper cn value anyway, but that 
> does not help here. And still would leave the description open.
> 
> Also, as mentioned before:
> echo -en "A \xF0\x9F\x99\x82 Test" | base64
> is a viable workaround, but a cumbersome one.
> 
> So maybe there is an easier way
> 
> Thanks
> 
> Ede
> 


-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/

Reply via email to