没有不值得去解决的问题,也没有不值得去学习的技术!

获取微信昵称存储至MySQL中,基于php5.6下函数base64_encode,且支持Emoji的实现

1、基于微信网页授权,获取到的昵称为:🌵yangqin🍬✨,如图1:

基于微信网页授权,获取到的昵称为:🌵yangqin🍬✨
基于微信网页授权,获取到的昵称为:🌵yangqin🍬✨

2、获取到的微信用户相关信息,如图2:

获取到的微信用户相关信息
获取到的微信用户相关信息

3、第一种解决方案,为让MySQL支持存信Emoji,修改排序规则为:utf8mb4_general_ci,如图3:

第一种解决方案,为让MySQL支持存信Emoji,修改排序规则为:utf8mb4_general_ci
第一种解决方案,为让MySQL支持存信Emoji,修改排序规则为:utf8mb4_general_ci

4、SQL语句执行成功,如图4:

SQL语句执行成功
SQL语句执行成功

5、结果发现MySQL中存储的数据对于Emoji的支持还不够完善,如图5:

结果发现MySQL中存储的数据对于Emoji的支持还不够完善,昵称为:????yangqin????✨
结果发现MySQL中存储的数据对于Emoji的支持还不够完善,昵称为:????yangqin????✨

6、最终决定排序规则还是还原为:utf8_general_ci,基于php函数base64_encode对昵称进行编码,如图6:

最终决定排序规则还是还原为:utf8_general_ci,基于php函数base64_encode对昵称进行编码
最终决定排序规则还是还原为:utf8_general_ci,基于php函数base64_encode对昵称进行编码

7、编码后存存储至MySQL中的昵称数据为:8J+MtXlhbmdxaW7wn42s4pyo,如图7:

编码后存存储至MySQL中的昵称数据为:8J+MtXlhbmdxaW7wn42s4pyo
编码后存存储至MySQL中的昵称数据为:8J+MtXlhbmdxaW7wn42s4pyo

8、如需要在网页上显示出微信昵称,则需要使用base64_decode解码,如图8:

如需要在网页上显示出微信昵称,则需要使用base64_decode解码
如需要在网页上显示出微信昵称,则需要使用base64_decode解码

9、在网页上显示微信昵称:🌵yangqin🍬✨,支持Emoji,如图9:

在网页上显示微信昵称:🌵yangqin🍬✨,支持Emoji
在网页上显示微信昵称:🌵yangqin🍬✨,支持Emoji

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系