years still this problem remains unsolved in xoops 2.5.5
but i just found one of the hardcoded lines in Kernel/user.php line 61:
$this->initVar('uname', XOBJ_DTYPE_TXTBOX, null, true, 25);
It should be corrected in the next versions.
xoops is full of these kind of hardcoded lines that is painful for utf8 non latin websites to resolve them. because mainly there is no error.
for example in the above mentioned issue, xoops said "the user is successfully modified" but the uname has been cut off after 25 character (latin) and 12-13 characters (multi-byte languages)
the other limits in xoops user table are as below:
the 'bio' field size should be changed to "text" . now it is "tinytext" (127 characters in multi-bytes languages).
the 'user_sig' field size should be changed to "text". Also is "tinytext"
From In the middle of nowhere
Community Coordinator (temporary)