即使使用utf8mb4字符集,MySQL表上的商店表情符号也会出错

时间:2018-11-04 15:31:38

标签: mysql

我正试图允许用户向您的个人消息中添加图释。

所有帖子都告诉我更改默认字符集,但是我已经将排序规则和字符集更改为utf8mb4。

ALTER DATABASE mydb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE mytable CHANGE message message VARCHAR(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

但是当我尝试时:

UPDATE mytable SET message = '' WHERE (`id` = '1');

我仍然收到休闲错误:

  

不正确的字符串值:'\ xF0 \ x9F \ x92 \ x97 \ xF0 \ x9F ...'

我还缺少什么?

我正在MySQL Workbench上运行所有这些命令,以连接到MySQL 5.7服务器。

我使用Docker-compose使用Docker创建了数据库。

my-db:
  image: mysql:5.7
  command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-allowed-packet=1073741824 

我也从mysql变量中得到了令人失望的结果。

character_set_client    utf8
character_set_connection    utf8
character_set_database  utf8mb4
character_set_filesystem    binary
character_set_results   utf8
character_set_server    utf8mb4
character_set_system    utf8
character_sets_dir  /usr/share/mysql/charsets/
collation_connection    utf8_general_ci
collation_database  utf8mb4_unicode_ci
collation_server    utf8mb4_unicode_ci

0 个答案:

没有答案