Hi,
as I’‘m using the embedded DB it could be the cause of the problem. It has an entry like this one (other UTF-8 JID’'s also fail, but I want to keep this post simple):
INSERT INTO JIVEUSER VALUES(’’\u20ac’’,’‘test’’,’’’’,’’ ‘’,’‘001139750982769’’,’‘001139750982769’’)
INSERT INTO JIVEUSER VALUES(’‘b\u20acn’’,’‘test’’,’’’’,’’ ‘’,’‘001139753299991’’,’‘001139753299991’’)
I did create it using Spark but I can not login. Using the adminconsole to edit this users causes an exception. A short application using Smack can login, so it seems to be a Spark problem which will hopefully not be discussed here.
u20ac is the unicode representation for the ? “Euro Sign”. I wonder why unicode instead of UTF-8 (“0xE2 0x82 0xAC”) is used to store the user name (Unicode/UTF-8 reference: http://de.wikipedia.org/wiki/UTF-8#Beispiele ).
Something to be discussed:
Is encoded unicode the right format to store JID’'s?
Why are some characters stored as is and some characters as encoded unicode? Is this a feature or a bug?
I’'d like to store everything as UTF-8.
Maybe mysql or other lame databases need a special treatment on Wildfire side.
LG
Message was edited by[/b]
A note just for myself (http://www.xmpp.org/specs/rfc3920.html#nodeprep)
An XMPP node identifier is the optional portion of an XMPP address that precedes a domain identifier and the ‘’@’’ separator; it is often but not exclusively associated with an instant messaging username.
These processing rules are intended only for XMPP node identifiers and are not intended for arbitrary text or any other aspect of an XMPP address.
In this case: username=XMPP node identifier[/b]
The character repertoire that is the input and output to stringprep: Unicode 3.2 (UCS-4, 32 Bit)
One may store these values in every format (UCS-2 if possible, UCS-4, UTF-8, …)
How will one be able to export values which are stored like this? I’'ll test the export/import plugin one day.
Message was edited by[/b]
The admin console uses UTF-8 encoding for the URL (/user-properties.jsp?username=b%E2%82%ACn) for “bEn” while the value is stored as unicode in the database.