我正在尝试将表情符号保存到我的MYSQL数据库中,我已按照以下步骤进行操作
3个步骤
将ALTER TABLE TABLE转换为字符集utf8mb4 COLLUT utf8mb4_unicode_ci; ALTER TABLE COLUMN修改注释文本字符集utf8mb4;
设置名称utf8mb4;
通过上述步骤,我可以将表情符号保存到数据库,但是过一段时间后,我又看不到表情符号,我必须执行以下命令
SET NAMES utf8mb4;
然后它起作用
使用以下语句是否必要?
SET NAMES utf8mb4;
我们不能对此进行永久性修复吗?
答案 0 :(得分:2)
有时必须再次执行SET NAMES
的原因是该命令仅修改当前会话的配置。
13.7.5.3 SET NAMES语法
此语句将三个会话系统变量character_set_client,character_set_connection和character_set_results设置为给定的字符集。
如果要永久设置它,则需要设置在mysql服务启动时定义它,或将其添加到您的MySQL conf文件中。
签出https://dev.mysql.com/doc/refman/5.7/en/charset-connection.html
或者(取决于您用于节点的MySQL客户端),您也许可以直接从客户端定义连接字符集。