关于Mysql中插入手机端表情符号报错的解决办法

保证mysql版本至少在5.5.3,只有这个版本以上才出现了utf8mb4字符集

工作中碰到了这个问题,在网上搜了一些资料,问题得到了解决,在此做下笔记。

1.修改可能被插入表情数据的表字段字符集为utf8mb4

2.修改完字段字符集后,将该表的字符集同样修改为utf8mb4

3.完成前面两条后修改整个数据库的字符集,修改值同样为utf8mb4

4.执行sql语句SHOW VARIABLES LIKE '%char%查看当前字符集情况。

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      utf8                       
character_set_system      utf8                       
character_sets_dir        /usr/share/mysql/charsets/

 

当结果为上图所示的情况时,重启Mysql。启动完毕后生效。

5.如果character_set_server的值不为utf-8/utf8mb4则无法成功实现插入表情入库,则需要在Mysqlmy.cnf中修改character_set_server的值。

具体方法为:在[mysqld]下加 character_set_server=utf8mb4/utf-8。

6.Mysql启动的情况下执行sql语句:SET NAMES utf8mb4;。

7.重启Mysql

8.测试。

 

猜你喜欢

转载自vortexchoo.iteye.com/blog/2187535