问题:Emoji 表情是按照4个字节存储的,所以传统 mysql utf-8编码只能最大存储3字节。

解决:修改MySQL(5.5.3以上版本) 编码为utf8mb4 即可存储Emoji表,同时设置 set names utf8mb4 否则程序写入和读取时会发生乱码。

要求:MySQL 5.5.3以上(网上说的),本人未测试,我用的是 MySQL 5.6 亲测,可以存储。

修改MySQL 编码:

1. OS X 系统:http://www.cnblogs.com/chenshuo/p/4751855.html

2. Linux 系统: http://www.cnblogs.com/chenshuo/p/4743144.html

3. Windows 请自行谷歌百度。

完整表编码(免得以后忘记了)

CREATE TABLE `user` (
`uid` varchar(16) CHARACTER SET utf8 NOT NULL DEFAULT '',
`email` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
`username` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL,
`password` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
`token` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
`openid` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
`avatar` varchar(60) CHARACTER SET utf8 DEFAULT NULL,
`teamid` varchar(10) CHARACTER SET utf8 DEFAULT '',
`position` smallint(6) DEFAULT '',
`main` smallint(6) DEFAULT '',
`captain` smallint(6) DEFAULT '',
`numbers` smallint(6) DEFAULT '',
`height` int(11) DEFAULT '',
`weight` int(11) DEFAULT '',
`level` smallint(6) DEFAULT '',
`gold` int(11) DEFAULT '',
`points` int(11) DEFAULT '',
`phone` varchar(11) CHARACTER SET utf8 DEFAULT NULL,
`address` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
`state` smallint(6) DEFAULT '',
`follow` int(11) DEFAULT '',
`fans` int(11) DEFAULT '',
`createtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

让MySQL数据库支持Emoji表情的更多相关文章

  1. mysql数据库支持 emoji表情

    关键点: 1. 修改mysql数据库表ALTER table <tablename>  modify <clolum>  char(100) character set utf ...

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

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

  3. 数据库支持emoji表情

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

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

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

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

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

  6. Mysql数据库存储emoji表情

    emoji表情需要使用编码格式未utf8mb4,mysql数据库版本要5.5以上,我用的是5.6,因为只有5.5以上支持utf8mb4. 1.数据库编码设定为utf8mb4,如果建库时指定的是utf8 ...

  7. MYSQL数据库与Emoji表情的故事

    问题背景 手机上众多输入法和键盘支持输入 emoji 表情,给早期设计的程序造成了越来越多的干扰. 移动端购物的流行,2018 年 "双十一"全网移动端交易达到 93.6% 微信年 ...

  8. MySql数据库存储emoji表情报错解决办法

    异常:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 解决: ...

  9. MySQL数据库保存emoji表情

    何为emoji表情?这里的全是. MySQL数据库为什么不能存储emoji?不是MySQL不能,而是MySQL的utf8编码不能!原来MySQL下的utf8编码每个字符占3个字节,而emoji占4个字 ...

随机推荐

  1. Entity Framework 学习中级篇4—存储过程(下)

    在EF中,各个实体的插入.更新和删除也都通过使用存储过程来完成,以便提高点性能.这个类似于数据集.其步骤是:先定义存储过程,然后在VS的可视化设计器,设置存储过程映射即可. 下面,以为Supplier ...

  2. 多项目中SVN权限管理精辟解析

    本节和大家讨论一下多项目SVN权限管理,主要包括建立版本库,修改版本库配置文件,配置允许访问的用户,设置用户访问权限.下面我们就来看一下SVN权限管理.svn权限管理svn的权限管理涉及到一下文件:p ...

  3. Object调用控件的办法

    <OBJECT id="pwdpad" style="LEFT: 0px; WIDTH: 35px; TOP: 0px; HEIGHT: 16px" cl ...

  4. HTML day01基础总结

    1.网页的基本元素 文字.图像与超链接. 2.每一个网页元素通常由开始标记.结束标记,以及在这两个标记中的内容所组成. 3.一般结构 <html> <head> <met ...

  5. Android OpenGL ES(一)OpenGL ES介绍

    在学习Android OpenGL ES开发之前,你必须具备Java 语言开发经验和一些Android开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运 ...

  6. public <T> void method(T var)

    今天项目中遇到这样一个方法: public <T> void method(T var) 不太明白什么意思,后来搜索下几篇文章,自己总结一下,和大家分享. 先看例子: 1.static v ...

  7. android 设计模式学习

    1:单例模式 //对于创建开销较大的类可使用此方法,保证全局一个实例,在程序运行过程中该类不会因新建额外对象产生开销.示例代码如下:public class Singleton { private s ...

  8. Git学习 -- 分支管理

    创建新分支,并切换到该分支 git checkout -b dev 这一句相当于以下两句: git branch dev 创建 git checkout dev 切换 查看当前分支 git branc ...

  9. Chrome 43+浏览器 Cookies encrypted_value解密脚本

    python 3.3.5 # -*- coding: utf-8 -*- # Used information from: # http://stackoverflow.com/questions/4 ...

  10. Mac linux 安装memcached服务 用法

    今天在Mac上安装memcached服务的时候 由于安装memcached之前需要安装libevent依赖包 所以使用brew install libevent 安装过程中报错 Warning: Yo ...