Сделал бота викторину @Viktorina_IRCBot народ стал играть. Но у некоторых игроков Ники необычные. Используются какие-то шрифты непонятные. Так вот бот в ответ им пишет их имена нормально, а вот при записи их в бд вместо символов с изменённым шрифтом появляются ?????. Как привести их имена к utf8 не зная изначальной кодировки?
Откройте по ссылке или QR бот @iMakeBot, нажмите кнопку Старт/Start.
Следуйте инструкциям бота.
Скорее всего это эмодзи или спец символы в кодировке utf8 но в большей байтности (4 против 3)
Меня спасает кодировка у таблиц в бд utf8mb4_general_ci или utf8mb4_unicode_ci
Спасибо, попробую
К сожалению, это не помогло. Новый пользователь опять с ?????
У вас кодировка utf8mb4 всей вертикали: database, table, column?
Да, и это не помогает. Может быть попробовать utf32?
С 32 не тестировал
Кодировка файла скрипта какая? Может быть в этом дело?
Есть еще предположение, что это пользователи с премиум подпиской - в имени используют премиум эмодзи, а они читаются только в телеграме.
Проверьте флаг у них в объекте User есть is_premium