Хм... Имя хранится как есть, в колонке с типом varchar. А ещё, СOLLATION таблиц - utf8_bin. Так что о регистронезависимости базы можно забыть.
Вижу такой вариант:
1). Создаём в таблице юзеров дополнительную колонку, username_normal к примеру.
2). При регистрации записываем туда strtolower($name)
При входе юзера в систему - приводим его имя к нижнему регистру, и ищем в базе.
Итог: ВаСя и ВАСЯ - нормально опознаются как Вася.
При регистрации, снова приводим жедаемое имя к нижнему регистру, ищем в базе. Если нету - позволяем идти дальше, если есть - просим придумать другое имя.
Тогда другой вопрос, как эти функции работают с русскими буквами? (Отредактировано автором: 20 Февраля, 2011 - 17:17:06)
|