我正试图允许用户向您的个人消息中添加图释。
所有帖子都告诉我更改默认字符集,但是我已经将排序规则和字符集更改为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