В настоящее время я работаю над веб-приложением (использующим Ruby), которое в конечном итоге я хотел бы использовать для людей из любой точки мира. Имея это в виду, поддержка не-ASCII символов необходима. Однако я не хочу, чтобы база данных была полна "шумовых" символов в таких полях, как username и т. Д.
Существуют ли общепринятые передовые практики для работы с вводом Unicode при таких обстоятельствах без отчуждения пользователей? Есть ли какие-нибудь мысли по поводу использования омографов в именах пользователей, чтобы сделать олицетворение сложнее?
Некоторые мои мысли до сих пор -
- нормализация текста перед его сохранением или использование в запросах
- фильтрация непечатных символов
- ограничение числа последовательных объединяющих диакритических знаков, допускаемых на входе
Есть еще мысли или я делаю ненужную работу для себя?
Спасибо.