其实很简单,百度了好多,也绕了很多弯路;还是做个记录方便以后用吧!
目的是为了往数据库存表情,但是出错,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
工具:mysql8.0(版本要大于5.5.3才能存表情);navicat;
服务端语言:typeorm;
简单来说分两步:(utf8 =>utf8mb4)
一、(后端语言修改)
在ormconfig.json文件里添加 “charset”: “utf8mb4”,
二、(修改mysql)
只需要修改数据库的字段(column)字符集为utf8mb4就行了,不需要修改my.cnf(linux)、my.ini(window)等文件;具体操作如下图:
PS:修改完一定要保存,不知道怎么保存的,修改完可以关闭当前表就会提示是否保存。希望以上可以帮助到您