项目开发中经常会遇到用户在评论或者发表文章的时候会打一些表情在里面,如果我们在开发中不去做一些处理的话,表情会出不来的,甚至是报错,下面简单介绍处理方式.
原文地址:
小时刻个人博客:http://small.aiweimeng.top/index.php/archives/Emoji.html

项目中评论或者文章中写入表情符号时,php报错,或者出来时一些????。这是为什么呢?

下面说一下mysql中的字符集:

mysql数据库表用的utf-8字符集也就是3字节,但emoji表情是4字节,导致无法insert.

怎么让mysql支持Emoij表情呢?

我们可以设置mysql的对应的表字符集为```utf8mb4```,排序规则改为```utf8mb4_unicode_ci```,记得修改之后重启mysql。

好了问题来了,我们修改完字符集后,进行测试。我想应该不会有问题,insert能写入了,
但是出来的数据是```????```,why?

项目开的时候数据库链接字符集默认是```utf8```,好了找到问题了,然后修改字符集为```utf8mb4```,O(∩_∩)O,
在进行测试,ok,完美解决了。

PHP Mysql字符集utf8mb4支持Emoji表情的更多相关文章

  1. 修改Mysql 字符集,支持Emoji表情

    插入失败 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 at ...

  2. mysql:设置字符集utf8mb4 支持emoji字符

    为什么要把数据库的字符集设置成utf8mb4呢?以前一直用的都是utf8啊? 答案在这里:utf8适用于不使用移动设备的互联网交互,utf8mb4适用于当前的移动设备互联网开发,因为移动设备中常常会有 ...

  3. mysql不支持emoji表情的问题的解决方法

    最近财神圈项目集成微信登录功能的过程中,当保存用户有昵称含有表情符号时后台服务抛出异常,原来是数据库默认字符集不支持emoji表情字符.找到问题的原因后,因为之前也没有遇到过这样的问题,也没思路,迅速 ...

  4. mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)

    普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x9 ...

  5. MySQL支持Emoji表情

    让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节, ...

  6. MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  7. mysql支持emoji表情符存储

    一.教你如何让数据库支持emoji表情符存储 解决方式: 更换字符集utf8-->utf8mb4 问题描述: 前台应用抓取微博信息,每天总有几条数据插入不成功.应用日志显示: java.sql. ...

  8. 数据库支持emoji表情

    从MySQL5.5.3开始,MySQL 支持一种utf8mb4的字符集,这个字符集能够支持4字节的UTF8编码的字符.utf8mb4字符集能够完美地兼容utf8字符串.在数据存储方面,当一个普通中文字 ...

  9. 教你如何让数据库支持emoji表情符存储

    From: http://www.cnblogs.com/janehoo/archive/2016/04/06/5359800.html 一.教你如何让数据库支持emoji表情符存储 解决方式:更换字 ...

随机推荐

  1. java线程方法join的总结

    虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间 ...

  2. python shopping incomplete code

    #shopping code#shopping.py#导入登录模块import login# shop car beginningsalary = input("请输入工资:\t" ...

  3. html select 操作备份

    select动态添加option问题 JS操作:(未验证) 代码 var selid = document.getElementById("sltid"); for(var i=0 ...

  4. angularJS articles and resources

    http://antjanus.com/blog/web-development-tutorials/front-end-development/comprehensive-beginner-guid ...

  5. Linux ->> UBuntu 14.04 LTE下设置静态IP地址

    UBuntu 14.04 LTE设置IP地址和一些服务器版本的Linux还不太一样.以Centos 7.0为例,网卡IP地址的配置文件应该是/etc/sysconfig/network-scripts ...

  6. ubuntu 启用root用户方法

    1.按下ctrl + alt + T,输入 sudo passwd root设置root的密码,如下图所示: 2.使用su root来测试是否可以进入root用户,如果出现#说明已经设置root用户的 ...

  7. WCF如何使用X509证书 z

    WCF如何使用X509证书 如何创建证书: makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=JiangServer -sky exchange - ...

  8. React Router V4.0学习笔记

    最近在学习React Router,但是网站的教程多半还是3.X版本之前的,所以我只能在GitHub上找到React Router的官方文档在读.后来总结了一下,包括学习经验以及V3.X与V4.X的差 ...

  9. Intellij IDEA 格式化代码

  10. C/C++心得-理解指针

    上一篇笔者用自己那不是怎么好理解的逻辑介绍了内存和C中的基本数据类型,现在笔者再根据自己重新所学来说说C语言中的指针. 理解指针才能真正的算C语言入门.也许是我大学期间太关注前端UE,也许是当初开始学 ...