微信小程序开发之头像是Emoji表情的存储问题
在微信小程序的开发过程中,需要用户的授权登录并获取用户的信息,存储到数据库,但是如果用户的头像是Emoji表情的话,是存储不上去的,这是因为之前数据的utf8只能存储3个字节,而 emoji表情有些需要占4个字节。这时就需要我们修改数据库的编码格式了。
首先,我们新建数据库时选择utf8mb4
编码,相应的表中字段也设置成utf8mb4
编码
设置完之后,可以在数据库-->查询-->新建查询里运行一下下边的命令,查看数据库的编码格式是否改成utf8mb4
编码
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
接下来需要修改mysql的配置。首先找到你安装的Mysql的文件夹下的my.ini的配置文件
打开之后,把下边的代码拷到你的配置文件里
[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'
重启Mysql,发现可以存储了。