上周在做微信摄影投票时遇到这么一个情况,在微信中如果将用户昵称修改为Emoji表情字符后,再通过hibernate向MySQL存储时报如下错誤:
原因是:MySQL中utf-8编码,一个字符占3个字节但是微信Emoji表情字符,它的编码是utf8mb4编码的一个字符占4个字节。就是因为这个原因导致插入昵稱时失败。
1、修改MySQL中对应表的昵称字段编码格式为utf8mb4;
2、放弃使用hibernate进行数据的存储或更新改用纯jdbc的方式(hibernate的没研究过,不知道可不可以)代码爿段如下:
使用java吗那你先需要按微信返回給你数据格式创建一个微信用户对象
我这有现成的,然后根据该类里的字段进行保存就行了
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。