Показать сообщение отдельно
Старый 26.06.2013, 15:37
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 1  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
По умолчанию Проверка ника пользователя на уникальность

Сервис позволяет пользователю самостоятельно менять ник в игре и встала задача обеспечения его жесткой уникальности.

Т.е., например, следующие ники являются одним ником:

Сера (все буквы русс)
СЕРА (все буквы русс)
Cepa (все буквы лат)
СеРa (часть букв из русского алфавита, часть из латинского и т.д.)

и т.д.


Я пока вижу такой путь решения задачи - одновременно с записью ника пользователя в базу, записывать его вариант в приведенном виде (например, верхний регистр, все кириллические буквы, имеющие аналог в латинском алфавите, заменены на латинские). Потом, когда другой пользователь хочет поменять себе ник, вычислять приведенное значение для его нового ника и проверять уникальность в базе по нему.

Может кто знает способ сделать это проще?

Можно, конечно, обойтись без приведенных ников, но тогда строить для нового ника пользователя коллекцию всевозможных комбинаций и прогонять их всех по базе? Это мне кажется плохим решением.