Rails, разработка и проверка адреса электронной почты с Emojis - PullRequest
0 голосов
/ 01 мая 2020

Я действительно отстал от времени и только недавно преобразовал свои таблицы базы данных MySQL (v5.7.30) для поддержки utf8mb4 (эмодзи, символы и т. Д. c). Я использую Devise 3.5.10 для аутентификации пользователей в своем приложении Rails 4.

Для проверки электронной почты я полагаюсь на Разработка по умолчанию email_regexp.

Поскольку смайлики разрешены в адресах электронной почты, я хочу убедиться, что я правильно понял. Текущее регулярное выражение, которое я использую, пропускает их, и при регистрации с чем-то вроде example@test?.com в базе данных оно фактически сохраняется как example@xn--test-r625f.com.

Я вышел из системы и снова вошел в систему с помощью example@test?.com и, конечно же, это сработало. Итак:

1) Должен ли я продолжать использовать регулярное выражение электронной почты Devise по умолчанию, чтобы разрешить символы и эмодзи? /\A[^@\s]+@([^@\s]+\.)+[^@\W]+\z/

2) Почему он сохранил в базе данных текст r625f вместо реальных смайликов? В другом месте в моей базе данных, где эмодзи появляется в поле VARCHAR, я просто вижу его как настоящий эмодзи.

...