说下,我们实际项目对库表支持表情的解决办法,问题是这样的,因为我们的项目需求,文字中间可能插入表情,然而我们都知道utf8最大是3位,而表情至少3位,所以utf8的编码格式在这里明显不能使用了,然而,数据库也是一代一代更新的,在mysql5.6.x,忘了小版本号以上新添加了utf8mb4的编码格式,其实这个编码格式和utf8一样的不过,它的最大位数不是3位,而是4位,兼容所有utf8字段,而一般情况下的表情包都是4位的,所以这时候就支持了绝大多数的表情,然而,搜狗输入法的表情有点蛋疼啊,因为它可能是5位甚至6位,这时候utf8mb4的编码格式也不行了,这个目前我没有好的解决办法,不知道微信是怎么解决这个问题的,可能是微信数据库比较牛鼻吧!
目前mysql的版本支持的表情转成Unicode编码最大只能是4位,超过4位就替换吧!目前解决不了(可能有神秘编码是我不知道的,知道的同志给我留言啊),我们项目数据库用的是5.7的版本,测试qq表情包,微信表情包都没问题,就搜狗蛋疼,一堆不知道是神马的表情是4位以上,支持不了!
其实我在想这样一种解决办法,如果知道搜狗表情包的范围(对应10进制范围),我们就可以转为10进制之后,对应数字,自己写一套"代号",碰到"代号"就转译为表情,这样问题应该就可以解决了,有更好办法欢迎留言!