@SlavaMorg

Как оптимально проверить строку на наличие эмодзи (PHP + MySQL)?

Есть сайт на битриксе (но это не очень важно). БД - MySQL.
При сохранении текста в базу данных, текст обрезается. Это получается потому, что там есть эмодзи. Как я понял, в БД у этого поля кодировка utf8_unicode_ci, а код эмодзи выходит за этот диапазон. В итоге то ли БД, то ли битрикс обрезают строку вплоть до эмодзи. Задача: предупреждать пользователя, что в строке есть эмодзи, чтобы он их удалял. Специфика такая, что они там реально не нужны. Заменять их не надо автоматически. Нужна тупо функция которая скажет, есть ли в строке эмодзи или нет. Изменять тип поля в БД нельзя. Сопоставлять каждый символ в строчке с огромным массивом смайлов (их очень много) тоже не вариант. Есть какой то ещё способ? Нахожу только функции, которые просто определяют utf8 это или нет, а меня интересует подмножество.
  • Вопрос задан
  • 714 просмотров
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Я конечно не спец в битриксе, но неужели там нельзя использовать нормальную кодировку, которая поддерживает все символы, utf8mb4?
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы