mysqldump с utf8 не может экспортировать правильную строку смайликов
Я использую MySQL 5.5.29, utf8mb4 charset, есть пользователь таблицы, содержащий полеnickname
со значением hexF09F988EF09F988E
это переводится как смайлики.
Теперь откройте консоль MySQL и выполните:
set names utf8mb4;
select nickname, hex(nickname) from user;
nickname | hex(nickname)
---------+-----------------
| F09F988EF09F988E
И затем выполните:
mysqldump --default-character-set=utf8 -utest -ptest test_dev user > user.sql
Проверитьuser.sql
и найти никнейм??
какая шестнадцатеричная строка 3f
Итак, как mysqldump с UTF8 может экспортировать правильную строку эмодзи?
Кстати, настройки кодировки базы данных сконфигурированы следующим образом: покажите переменные наподобие 'набор символов_%':
'character_set_client', 'utf8mb4'
'character_set_connection', 'utf8mb4'
'character_set_database', 'utf8mb4'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8mb4'
'character_set_server', 'utf8mb4'
'character_set_system', 'utf8'
'character_sets_dir', '/data/mysql/share/charsets/'