Добавление и вывод эмодзи в MySQL
При отправке POST-запроса на изменение строки text с кодировкой utf8mb4_general_ci эмодзи отображаются в БД как вопросительные знаки ????.
В чем может быть проблема?
Как правильно записать строку с эмодзи внутри в БД?
Для информации: если вручную в строку вставить эмодзи, то эмодзи отображается при выводе echo $row['text']; как один вопросительный знак. Использую PDO.
Ответы (1 шт):
Автор решения: Yaroslav Molchan
→ Ссылка
Так как не показали дамп или подключение, перечислю 2 пункта, которые нужно выполнить.
- Проверить, а лучше ещё раз сменить кодировку и представление для колонки:
ALTER TABLE `name` MODIFY `text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Теперь можно добавить emoji в таблицу, они должны отображаться нормально.
- Настроить кодировку при подключении:
mysql_query('SET NAMES utf8mb4');
Теперь emoji должны отображаться в базе нормально и php так же нормально будет работать с emoji.