北京尚网汇智科技有限公司
您当前所在的位置:尚网汇智网站建设 > 数据库技术 > 文章详细
网站建设知识
NEWS
联系我们
  • 网站建设服务电话
  • 400-883-2887
  • 公司地址:北京市昌平科技园区创意大厦2-806
  • 服务项目
    高端网站建设
    移动/微信网站建设
    手机APP开发
    OA/ERP业务系统开发
    网站维护托管
    CMS模板制作

    微信接口获取用户昵称保存到数据库mysql中为空数据(空白)解决方法

    发布时间:2020-11-09 14:01:01

    微信昵称mysql utf8 mb4空白

    因为:微信昵称中包含emoji表情标签,某些标签是使用了4字节编码的UTF8。

    而大多数MySQL数据库现在使用的是3字节UTF8编码,这样会导致保存为空,且不会提示失败。

    解决方法:

    方案一:升级到MySQL5.5+版本,支持utf8mb4编码格式,然后执行下面的变更语句:

    ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

    这样可以完整保存用户昵称,但系统升级风险较大,需要多方面测试。

    方案二:另外一个方法更容易,就是去除非3字节的特殊符号,

    $nickname = preg_replace('/[\x{10000}-\x{10FFFF}]/u'''$nickname);

    缺点是这会导致读取显示的时候少了那些漂亮的图标。


    文章出自:北京网站建设公司-尚网汇智 https://net2006.com 如转载请注明出处!
    咨询服务热线
    400-883-2887
    客服电话:400-883-2887  传真:010-51654992  E-mail:support@net2006.com
    本站设计已受版权保护,任何公司及个人不得复制,违者将依法追究责任,特此声明。

    Copyright © 2005-2018 北京尚网汇智科技有限公司 版权所有 京ICP备13031271号
    查找内容: