【问题描述】微信小程序开发,商户授权给用户后,用户便可关注小程序。有的用户的微信账户号中带有emoji表情,这样的话,直接存储到mysql5.5以下版本的数据库中会报异常。项目中的mysql数据库的版本是5.1.8的。【问题缘由】emoji是4个字节的,因为编码方式不同,所以如果将emoji表情直接存入utf8编码的数据库,会报错,存不进去。【解决方案】一.修改数据库编码方式(mysql的版本必须为v5.5.3或更高)1.把数据库的编码改成utf8mb4–UTF-8Unicode2.将需要存储emoji表情的字段选择utf8mb4_general_ci3.数据库连接也需要改为utf8mb4设置完成后,应该可以看到如下类似字符集设置结果。那么可以直接的存入数据库,无需做任何额外的事情了。
二.存之前base64_encode(),取的时候base64_decode()1.采用的是ApacheCommonsCodec作法,ApacheCommonsCodec有提供Base64的编码与解码功能,会使用到org.apache.commons.codec.binary套件下的Base64类别,用法如下:finalBase64base64=newBase64();finalStringtext="字串文字";finalbyte[]textByte=text.getBytes("UTF-8");//编码finalStringencodedText=base64.encodeToString(textByte);System.out.println(encodedText);//解码System.out.println(newString(base64.decode(encodedText),"UTF-8"));2.Java8之后的作法,Java8的java.util中,新增了Base64的类别,可以用来处理Base64的编码与解码,用法如下:finalBase64.Decoderdecoder=Base64.getDecoder();finalBase64.Encoderencoder=Base64.getEncoder();finalStringtext="字串文字";finalbyte[]textByte=text.getBytes("UTF-8");//编码finalStringencodedText=encoder.encodeToString(textByte);System.out.println(encodedText);//解码System.out.println(newString(decoder.decode(encodedText),"UTF-8"));
最新资讯
-

小程序制作平台选型踩坑记录:2026年五大主流方案横向对比
2026 年微信小程序月活达 10.7 亿、覆盖 108 个行业,本次横向对比即速应用、乔拓云、凡科、有赞、微盟五大主流平台,分三阶段给出选型结论,核心聚焦成本、扩展性、运营能力三大维度。 -

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。










