有关微信公众号的开发,系统需要存储用户的openId和昵称等基本信息。然而很多新潮儿,微信昵称会选择使用各种emoji表情,如果当初设计表结构的时候就没考虑这个问题,就会出现存储不了的问题。
修改f配置文件
1.因为之前设计的时候使用的是utf-8编码,最多三个字节,而Emoji表情是四个字节,所以导致数据插不进去。
2.查询数据库编码格式
show variables like '%char%'
3.修改服务器mysql配置文件#1.mysql安装路径
>whichmysqld#2.查看读取f文件顺序
>/usr/sbin/mysqld--verbose--help|grep-A1'Defaultoptions'
Defaultoptionsarereadfromthefollowingfilesinthegivenorder:
/etc/f/etc/mysql/f/usr/etc/f~/.f#3.进入/etc/f修改配置文件
>cd/etc
>f
#4.将如下配置加入f配置文件
[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='SETNAMESutf8mb4'
4.重启mysqlservicemysqldstop
servicemysqldstart
修改库表结构alterdatabase数据库名称characterset=utf8mb4collate=utf8mb4_unicode_ci;
altertable表名converttocharactersetutf8mb4collateutf8mb4_unicode_ci;
altertable表名CHANGE字段名字段名varchar(255)
CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;
再次查看编码showvariableslike'%char%'
上述完成之后,则可插入带有emoji表情符号的昵称。
本文由职坐标整理发布,欢迎关注职坐标MySQL频道,学习更多数据库知识!
如果觉得《mysql emojo 其他方案_MySQL数据库存储昵称带有emoji处理方案》对你有帮助,请点赞、收藏,并留下你的观点哦!