将表情符号保存到 MYSQL 数据库

Save emojis to MYSQL DB

我正在尝试将表情符号保存到我的 MYSQL 数据库中,我已按照这些步骤操作

3 个步骤

  1. ALTER TABLE TABLE 转换为字符集 utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE COLUMN modify Comment 文本字符集 utf8mb4;

  2. 设置名称 utf8mb4;

通过上述步骤我可以将表情符号保存到数据库,但一段时间后我无法再次看到它们,我必须执行以下命令

SET NAMES utf8mb4;

然后就可以了

是否必须使用以下语句?

SET NAMES utf8mb4;

我们不能有永久性的修复或方法吗?

有时您必须再次执行 SET NAMES 的原因是该命令仅修改当前会话的配置。

根据the documentation

13.7.5.3 SET NAMES Syntax

This statement sets the three session system variables character_set_client, character_set_connection, and character_set_results to the given character set.

如果您想永久设置它,您需要在 mysql 服务启动时设置定义它,或者将它添加到您的 MySQL conf 文件中。

查看 https://dev.mysql.com/doc/refman/5.7/en/charset-connection.html

或者(取决于您为节点使用的 MySQL 客户端)您可以直接从您的客户端定义连接字符集。