让MySQL数据库支持Emoji表情
2015-10-29 22:41
531 查看
问题: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 请自行谷歌百度。
完整表编码(免得以后忘记了)
解决:修改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 '0', `position` smallint(6) DEFAULT '0', `main` smallint(6) DEFAULT '1', `captain` smallint(6) DEFAULT '0', `numbers` smallint(6) DEFAULT '0', `height` int(11) DEFAULT '0', `weight` int(11) DEFAULT '0', `level` smallint(6) DEFAULT '0', `gold` int(11) DEFAULT '0', `points` int(11) DEFAULT '10', `phone` varchar(11) CHARACTER SET utf8 DEFAULT NULL, `address` varchar(32) CHARACTER SET utf8 DEFAULT NULL, `state` smallint(6) DEFAULT '0', `follow` int(11) DEFAULT '0', `fans` int(11) DEFAULT '0', `createtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
相关文章推荐
- mysql 主从同步失败后
- 原SLICK3.0 MySQL InnoDB Driver
- Ubuntu12.04上安装MySQL Server提示mysql-server : Depends: mysql-server-5.1
- MySQL的安装及MySQL workbench建表
- MySql学习笔记_03_各个类型的存储范围
- jsp连接 MySql
- mysql乱码解决
- 如何将 MySQL 数据库转移到 SQL Server 与 Azure SQL Database
- mysql使用小记录
- mysql数据库常用语句
- MySQL怎样存储IP地址
- MYSQL基本操作语句
- MySQL创建用户与授权
- mysql海量数据的优化
- pentaho移植到MySQL
- mysql主从复制
- 解决hibernate向mysql插入中文乱码问题
- mysql 错误解决方案-积累
- 在命令行中mysql导入数据库
- MySQL命令行导出数据库