mysql显示不了emoji表情或者显示??,缘由这里不解释,直接说解决办法。(主要就是修改utf8mb4)mysql
1.修改表sql
ALTER TABLE `TABLE_NAME` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2.修改字段数据库
ALTER TABLE `TABLE_NAME`MODIFY COLUMN `COLUMN_NAME` varchar CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
3.修改客户端链接时charset设计
例: 在thinkPHP中,配置连接数据库参数时,'DB_CHARSET' => 'utf8mb4'server
作到这里,基本已经能够显示emoji表情了。若是不行 接着下面。blog
4.修改数据库环境ci
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';io
+—————————--- ----+--------------------------+
| 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_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8mb4_general_ci |
+-----------------------------+——————---—————+
修改例句:
mysql> set character_set_client=utf8mb4;
修改为如上表模样就能够了。
若是还不行,请从新编译mysql,不过楼主没试太久不说了。。
================================================================
其实最好的方法是在建库建表时就设计好
CREATE DATABASE a DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci CREATE TABLE b () ENING=InnoDB CHARACTER utf8mb4 COLLATE utf8mb4_general_ci