[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#7447) backsql and german umlaute



Full_Name: Herbert Metzdorf
Version: 2.4.30
OS: Windows 7 / 2008
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (87.138.76.52)


I am using thunderbird to query the openldap with the sql backend. Queries with
german umlaut's give no result because of wrong lower/uppercase conversion. Look
at the following log snippets:

50ab7cdb ==> limits_get: conn=1008 op=1 self="[anonymous]"
this="ou=adressen,dc=geograt,dc=de"
50ab7cdb ==>backsql_search(): base="ou=adressen,dc=geograt,dc=de",
filter="(|(?mail=*searchäoöuü*)(cn=*searchäoöuü*)(givenName=*searchäoöuü*)(sn=*searchäoöuü*))",
scope=2,50ab7cdb  deref=0, attrsonly=0, attributes to load: custom list
50ab7cdb ==>backsql_get_db_conn()
...
50ab7cdb <==backsql_srch_query() returns SELECT DISTINCT
ldap_entries.id,ldap_persons.sysid,'inetOrgPerson' AS
objectClass,ldap_entries.dn AS dn FROM ldap_entries,ldap_persons WHERE
ldap_persons.sysid=ldap_entries.keyval AND ldap_entries.oc_map_id=? AND
UPPER(ldap_entries.dn) LIKE CONCAT('%',UPPER(?)) AND (1=0 OR (UPPER(vorname||'
'||nachname) LIKE '%SEARCHäOöUü%') OR (UPPER(vorname) LIKE '%SEARCHäOöUü%') OR
(UPPER(nachname) LIKE '%SEARCHäOöUü%'))

The search expression in converted to uppercase but this fails for the
umlaut's.
Is there a parameter to configure this behavior, or do you know a workaround?

Thanks for your help
Herbert