MySQL不能存储emoji解决方法,将utf8改成utf8mb4

admin3年前mysql894

MySQL不能存储emoji解决方法,将utf8改成utf8mb4

网上很多教程都不能解决问题

真正能解决问题的方案如下:


1、登录宝塔面板,找到:

软件商店-已安装-MySQL(需要升级到5.3以上)-设置-配置修改

2、在配置修改中添加这些代码(添加到红字体对应下方,红色字体不要添加进去):

[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'

3、添加完代码后,点击:

设置-服务-重启

4、进入数据库管理:

宝塔-数据库-管理-进入PHPmyadmin

5、修改三处为utf8mb4_unicode_ci

(1)数据库名-操作-排序规则,改为:utf8mb4_unicode_ci

(2)数据库名-“存放文章的表”结构-勾选原来有排序规则的字段-修改,改为:utf8mb4_unicode_ci

(3)点击表名-操作表选项-排序规则,改为:utf8mb4_unicode_ci  (全部表都改一下)

到这里就完成了全部操作,再次发布文章时,插入emoji即可正常存储显示。

转载:http://ask.pprpp.com/article/1


相关文章

Mysql 存储过程的使用要点

if the end if 最后需要用分号';'结束out的值在select 中需要用 into赋值 其他情况 可以尝试setphp获取out的值需要$sql="call&n...

解决mysql数据表添加数据不能超过65535条记录的方法

解决mysql数据表添加数据不能超过65535条记录的方法

是由表格字段ID的数据库类型造成的,smallint最大数值就是65535,修改成int就可以了...

Ms SQL server生成序号的四种方式

排名函数是SQL SERVER2005新增的函数。排名函数总共有四种,分别是:row_number、rank、 dense_rank 、ntile。row_number:顺序生成序号。rank:相同的...

MYSQL存储过程使用技巧

in 或者out 参数 :需要设定长度,否则保存的时候会报错;参数和字段名重名的时候,为了区别字段名,需要在字段前面加入表名创建临时表CREATE TEMPORARY TABLE&...

mysql减去一天与减去一个小时

减去一天SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY);减去一个小时hour(now())-1...

mysql数字与日期的相互转换方法,以及在php里的输出方法

1.date型转换成int型 UNIX_TIMESTAMP('2007-10-04 22:23:00') 2.int型转换成date型 FROM_UNIXTIME(97599...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。