关于mysql与emoji的坑

emoji

网上已经有很多的mysql支持emoji文章了,大概就是:不管是啥mysql相关配置,通通改成utf8mb4 。
这样就能够支持emoji了,所以我也不多介绍这方面,我只说一下我遇到的几个坑。
1.找不到my.ini
linux下应该好找,但是windows下,要不就是没有,要不就是有好几个。这里提供一种方法,就是在系统服务中,查看mysql服务的属性,里面指定了读取的配置文件,读取的是哪一个文件,就用的是哪一个文件。
2.改了配置,没起作用
有的时候,改了my.ini之后,查看mysql还是原来的编码。有可能是以下几点,一,没重启;二,用的是软件查看,软件可能有缓存之类的,用命令行查看估计就改掉了;三,配置文件改错了。
3.实在改不了配置
因为数据库实例是启在服务器上,不会随便重启,如果实在改不动配置,也不想花时间在这上面,就用set names命令,将数据库的字符集强行改为utf8mb4,然后在系统启动的时候自动跑脚本生效这个语句,应该也能达到效果。
4.改了配置了,但是程序还是保存不了emoji
提供以下几点参考。一,connect包的版本太低;二,数据库连接有缓存,在连接url上加上autoReconnect=true;三,connect包大于5.13(应该是这个版本),需要去掉characterEncoding=UTF-8。

这就是我碰到过的坑,如果有其他的坑,也欢迎交流。

你可能感兴趣的:(java,mysql,Emoji,utf8mb4)