Last modified: 2007-06-25 17:05:12 UTC
I've tried to use (for test) nickname of 150 cyrillic characters and recieved error message "Nickname too long; must be under 250 characters." Apparently, this message is about size of Unicode string, not about characters.
We should probably check that a multi-byte compatible string length function is being used.
How about you not use an insanely long username? :) You should be able to get up to about 85 characters even in Cyrillic or Chinese or other three-byte UTF-8 scripts, and that should already be more than would be conceivably typeable without causing frequent sentiments of extreme aggression in your fellow wiki users. In any case it's the maximum possible length for the database field in MySQL 4 (or close enough), so we'd have to switch to MEDIUMTEXT or something if we wanted to allow this, which seems fairly ridiculous.
should we change message 'badsiglength' => 'Nickname too long; must be under $1 characters.' to 'badsiglength' => 'Nickname too long; must be under $1 bytes of UTF-8.', ?
*rolleyes* fine people :) We can make it characters. That'll make the input box limitation work properly as well.
Went ahead and changed it in r23389. We've got a fallback implementation for mb_strlen() so it's available now with or without mbstring. Since it's not being limited by a 255-byte database field, switching this one to use characters is easy.
Whoops, I'm an idiot. I somehow thought that this was talking about actual usernames. The terminology in that message confuses the hell out of me without context, although with context I guess it's clear enough. Sorry. :)