微信小程序> 微信emoji表情,微信小程序中使用emoji表情

微信emoji表情,微信小程序中使用emoji表情

浏览量:846 时间: 来源:you一年
【问题描述】微信小程序开发,商户授权给用户后,用户便可关注小程序。有的用户的微信账户号中带有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"));

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎