自己在新建数据库表的时候字符集已经用的是utf8mb4,但是排序规则不是utf8mb4_unicode_ci。
插入表情报错。查询了一下网上的解决办法:
【1】修改mysql的my.cnf文件
[client]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[mysql]
default-character-set=utf8mb4
【2】修改数据库及表的字符集
(1) 进入mysql
mysql -u用户 -p密码
(2)修改数据库的字符集
ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
eg:
ALTER DATABASE wx CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
(3)指定某个数据库
use wx;
(4)修改表的字符集:
修改table的字符集:
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
eg:
ALTER TABLE G_PERSONINFO CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
退出 exit;
利用 service mysql stop 及service mysql start 重启即可以。
然后再次进入查看数据库字符集看是否成功。