小编use*_*278的帖子

使用utf8的mysqldump无法导出正确的表情符号字符串

我使用MySQL 5.5.29,utf8mb4字符集,有一个表用户包含一个nickname值为hex 的字段F09F988EF09F988E转换为表情符号.

现在打开MySQL控制台,并执行:


set names utf8mb4;
select nickname, hex(nickname) from user;
Run Code Online (Sandbox Code Playgroud)
nickname | hex(nickname)
---------+-----------------
    | F09F988EF09F988E
Run Code Online (Sandbox Code Playgroud)

然后执行:

mysqldump --default-character-set=utf8 -utest -ptest test_dev user > user.sql
Run Code Online (Sandbox Code Playgroud)

检查user.sql并找到昵称显示??哪个十六进制字符串是3f

那么,mysqldump如何用UTF8导出正确的emojis字符串呢?


顺便说一句,数据库字符集环境配置如下:显示'character_set_%'之类的变量:

'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/'
Run Code Online (Sandbox Code Playgroud)

mysql utf-8 character-encoding emoji

13
推荐指数
2
解决办法
9571
查看次数

标签 统计

character-encoding ×1

emoji ×1

mysql ×1

utf-8 ×1