Давно хотел заняться этим вопросом. При резервном копировании и восстановлении базы данных из статей пропадали эмодзи. При этом если отредактировать статью и вставить эмодзи снова, то всё прекрасно сохраняется и отображается.
Восстановление базы MySQL из резервной копии
Не очень страшно, конечно, но неприятно. Нашёл вариант резервного копирования и восстановления, при котором эмодзи не пропадают, по словам автора. Нужно будет попробовать, когда руки дойдут.
Бэкап:
SCHEMA=${2:-mindlevel}
DB_HOST=$1
mysqldump -uroot -ppassword -h$DB_HOST --default-character-set=utf8mb4 --complete-insert --no-create-info $SCHEMA -r ${SCHEMA}_backup.sql
Восстановление:
mysqladmin -uroot -ppassword -h$DB_HOST -f drop $SCHEMA &&
mysql -uroot -ppassword -h$DB_HOST --default-character-set=utf8mb4 < ${SCHEMA}_schema.sql &&
mysql -uroot -ppassword -h$DB_HOST $SCHEMA --default-character-set=utf8mb4 -e "SET NAMES utf8mb4; SOURCE"${SCHEMA}"_backup.sql;"
Пока не проверял, но думаю, следует обратить внимание на два вещи:
- --default-character-set=utf8mb4 в атрибутах при бэкапе и восстановлении
- SET NAMES utf8mb4; перед началом восстановления