View Issue Details

IDProjectCategoryView StatusLast Update
0001412SOGoWeb Address Bookpublic2011-11-17 13:29
Reporteradnus Assigned Toludovic  
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Product Version1.3.8a 
Target Version1.3.10Fixed in Version1.3.10 
Summary0001412: no UTF8 support in ldap-adressbook
Description

search for a person including utf8 characters in name fails, display of addressbook of a person with utf8-charackters fails

TagsNo tags attached.

Activities

adnus

adnus

2011-08-11 09:28

reporter   ~0002791

SOGo-1.3.8b, LDAP Addressbook, German Umlaute

2011-08-11 11:26:05.244 sogod[11701] WARNING(_parseValue): found end of string before end of quoted text
2011-08-11 11:26:05.244 sogod[11701] WARNING(_parseValue): found end of string before end of quoted text
2011-08-11 11:26:05.244 sogod[11701] WARNING(+[EOQualifier(Parsing) qualifierWithQualifierFormat:]): unexpected chars at the end of the string(class=GSMutableString,len=110) '(sn='müller') OR (displayname='müller') OR (telephonenumber='müller') OR (mail='müller') OR (cn='müller*')'
2011-08-11 11:26:05.244 sogod[11701] buf-length: 115
2011-08-11 11:26:05.244 sogod[11701] length: 97
2011-08-11 11:26:05.244 sogod[11701] char[length]: 'O' (79) 'OR (cn='müll'
localhost.localdomain - - [11/Aug/2011:11:26:05 GMT] "POST /SOGo/so/john/Contacts/empl-addrbook/view?noframe=1&search=name_or_address&value=m%C3%BCller&sort=c_cn&asc=true HTTP/1.1" 200 8318/0 0.300 60546 86% 0

adnus

adnus

2011-08-12 08:06

reporter   ~0002792

also: no UTF-8 search in personal addressbook

2011-08-12 10:03:26.354 sogod[7870] WARNING(_parseValue): found end of string before end of quoted text
2011-08-12 10:03:26.354 sogod[7870] WARNING(_parseValue): found end of string before end of quoted text
2011-08-12 10:03:26.354 sogod[7870] WARNING(+[EOQualifier(Parsing) qualifierWithQualifierFormat:]): unexpected chars at the end of the string(class=GSCInlineString,len=165) '(c_sn isCaseInsensitiveLike: '%mü%') OR (c_givenname isCaseInsensitiveLike: '%mü%') OR (c_cn isCaseInsensitiveLike: '%mü%') OR (c_mail isCaseInsensitiveLike: '%mü%')'
2011-08-12 10:03:26.354 sogod[7870] buf-length: 169
2011-08-12 10:03:26.354 sogod[7870] length: 127
2011-08-12 10:03:26.354 sogod[7870] char[length]: 'O' (79) 'OR (c_mail isCaseInsensitiveLike: '%m'

adnus

adnus

2011-08-24 13:17

reporter   ~0002821

after some tests, search for strings including utf8-chars is not working at the calendar AND the addressbook SEARCH. Search für "Müller" at the mail is working, but produce this error:

Aug 24 15:12:38 sogod [32273]: <0x0x2acdafb8fc60[NSString]> Got invalid multibyte sequence. ToEncode: UCS-2LE FromEncode: UTF-8.

adnus

adnus

2011-08-25 09:22

reporter   ~0002823

realized what a terrible english I wrote ;-)

khapare77

khapare77

2011-08-25 10:15

reporter   ~0002824

is your address search works by mü ? I am facing the same issue. I checked with the system wide locale - still no luck ! Let me know when you find the solution for this.

adnus

adnus

2011-08-25 11:23

reporter   ~0002825

no, "mü" is not working.

the search field is javascript, coded in WebServerResources/ContactsUI.js (for the addressbook):


if (searchValue && searchValue.length > 0)
url += ("&search=" + search["criteria"]

  • "&value=" + escape(searchValue.utf8encode()));

a URL is formed like this as result:

POST /SOGo/so/john/Contacts/empl-addrbook/view?noframe=1&search=name_or_address&value=m%C3%BCller&sort=c_cn&asc=true

that's what I find out so fare, I'm not a objectiv-C-programmer, hope for some assist

adnus

adnus

2011-08-25 14:30

reporter   ~0002826

this is the objective-c-part of the contact search:

in the source:

SoObjects/Contacts/SOGoContactGCSFolder.m

line 172 and following (function _qualifierForFilter)

.....

    qs = [NSString stringWithFormat:
                     @&quot;(c_sn isCaseInsensitiveLike: '%%%@%%') OR &quot;
                   @&quot;(c_givenname isCaseInsensitiveLike: '%%%@%%') OR &quot;
                   @&quot;(c_cn isCaseInsensitiveLike: '%%%@%%') OR &quot;
                   @&quot;(c_mail isCaseInsensitiveLike: '%%%@%%')&quot;,
                   filter, filter, filter, filter];

.....

khapare77

khapare77

2011-08-25 15:08

reporter   ~0002827

I checked with sogo live demo http://sogo-demo.inverse.ca/SOGo/so/, it is the same issue.

Christian Reischl

Christian Reischl

2011-11-15 10:45

reporter   ~0003003

I can confirm that this issue affects 1.3.9 too.

Search for contacts containing german umlauts like ä,ö and ü fails.

ludovic

ludovic

2011-11-16 21:14

administrator   ~0003022

Fixed: http://mtn.inverse.ca/revision/diff/77fbf2ff8bd28e88111c38f0575e8bc609e7b80f/with/132e678e4871e3ade7f5e2fcb1449258ea986762

adnus

adnus

2011-11-17 09:19

reporter   ~0003028

Great! I patched my sogo-1.3.8b with this fix minutes ago, and it works! I replaced the org /usr/GNUstep/System/Library/Libraries/libEOControl.so.4.9.74 by the new one I compiled after patching the SOPE-Source.

Thanks, good job!

Issue History

Date Modified Username Field Change
2011-08-11 07:06 adnus New Issue
2011-08-11 09:28 adnus Note Added: 0002791
2011-08-12 08:06 adnus Note Added: 0002792
2011-08-24 13:17 adnus Note Added: 0002821
2011-08-25 09:22 adnus Note Added: 0002823
2011-08-25 10:15 khapare77 Note Added: 0002824
2011-08-25 11:23 adnus Note Added: 0002825
2011-08-25 14:30 adnus Note Added: 0002826
2011-08-25 15:08 khapare77 Note Added: 0002827
2011-11-07 21:03 francis Target Version => 1.3.10
2011-11-15 10:45 Christian Reischl Note Added: 0003003
2011-11-16 19:05 ludovic Severity minor => block
2011-11-16 21:14 ludovic Note Added: 0003022
2011-11-17 09:19 adnus Note Added: 0003028
2011-11-17 13:28 francis Status new => resolved
2011-11-17 13:28 francis Fixed in Version => 1.3.10
2011-11-17 13:28 francis Resolution open => fixed
2011-11-17 13:28 francis Assigned To => francis
2011-11-17 13:28 francis Status resolved => assigned
2011-11-17 13:28 francis Assigned To francis => ludovic
2011-11-17 13:29 francis Status assigned => resolved