ssm项目中遇到微信用户名称带有表情,插入失败问题
ssm项目中遇到微信用户名称带有表情,插入失败问题
问题
Mysql的utf8编码最多3个字节,而Emoji表情或者某些特殊字符是4个字节。
因此会导致带有表情的昵称插入数据库时出错。
解决方法
一. 因为忘记了 mysql目录, 所以用下面命令查找一下
// 查找安装目录
whereis mysql
// 查找运行目录
ps -ef | grep mysql
二. 关闭mysql
mysqladmin -u root shutdown
三. 修改目录下ini文件
vim my.cnf
内容如下
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
四. 重启mysql服务
service mysql start
五. 修改表的默认编码
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;