I think I've fixed that function, but then problem moves into create_user() :-/.
Wild speculation: I think the root of this problem is the Windows PHP binaries installed use plain libiconv 1.11 and on ubuntu php uses the bundled glibc iconv functions and things are behaving slightly differently.
I see this is get_new_username() using substr in a non-utf8 safe way, I think I've fixed that. Something like:
index b90a9fc..72c0a83 100644 lib/user. php lib/user. php username( $desired) { $desired, 0, $maxlen - 6) . '%')); encode( substr( utf8_decode( $desired) , 0, $maxlen - 6) . '%')));
--- a/htdocs/
+++ b/htdocs/
@@ -1402,7 +1402,7 @@ function get_new_
$taken = get_column_sql('
SELECT LOWER(username) FROM {usr}
WHERE username ' . db_ilike() . " ?",
- array(substr(
+ array(utf8_
if (!$taken) {
return $desired;
}
I think I've fixed that function, but then problem moves into create_user() :-/.
Wild speculation: I think the root of this problem is the Windows PHP binaries installed use plain libiconv 1.11 and on ubuntu php uses the bundled glibc iconv functions and things are behaving slightly differently.