首页 > PHP专栏 > MySQL无法存储Emoji表情问题
2017
11-09

MySQL无法存储Emoji表情问题

数据插入的时候报错:

1366 - Incorrect string value: '\xF0\x9F\x98\x81' for column 'job' at row 23

解决办法:

1、修改配置文件my.ini或my.cnf:

[mysql]  
default-character-set=utf8mb4  
[mysqld]  
character-set-server=utf8mb4

2、重启mysql服务

3、修改表或者表中某个字段的编码方式:

  先查看数据库的编码方式:

show variables like '%char%';

  修改整个表的编码方式:

alter table user convert to character set utf8mb4 collate utf8mb4_bin;

  修改某个字段的编码方式:

-- 指定单个字段的编码方式  
ALTER TABLE user MODIFY COLUMN nick varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '昵称';

留下一个回复