[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4′
2. 重新启动Mysql,检查字符集
mysql> SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%';
+————————–+——————–+
| Variable_name | Value |
+————————–+——————–+
| 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 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+————————–+——————–+
rows in set (0.00 sec)
3. 把现有的表改为utf8mb4格式:alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin; 但是我在做这一步之后发现没有作用,所以就重新create了新的表
create table tablename (columnname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci);
4. 之后测试发现还是不行,最终修改了php项目代码config部分,配置pdo部分的charset是utf8mb4之后终于成功,所以这一步也不能够省略
本文详细介绍了在Linux环境下配置MySQL使用utf8mb4字符集,以实现存储和展示Emoji表情的方法,包括修改my.cnf文件、重启MySQL、检查字符集、创建或转换表以及调整PHP项目代码等步骤。
146

被折叠的 条评论
为什么被折叠?



