关于utf8mb4的学习了解笔记
占位下班写 据说可以存储emoji 。。妈蛋今天大神又秀我一脸
大概意思是,我们整个后端数据库,最近都升级了编码格式。从以前久的utf-8整个升级到了utf8mb4的格式 该格式支持emoji表情。
MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区,BMP是从哪到哪,到 http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters进行查看。(还没看。)
配置具体参照http://www.tuicool.com/articles/zAnEV3
这里只列几个我使用到的 比较重要的点。
首先我这次的任务有使用pt-online-schema-change,这个工具可以在数据库不锁表的情况下,对表进行增加字段删除字段等操作。
pt-online-schema-change h=,u=xcf,D=xcf_mfarm,t=ec_shop_info --alter "add column haha varchar(96) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''" --set-vars lock_wait_timeout=3 --ask-pass --execute add后面就是正常在数据库里面使用的创建表字段了 add column haha varchar(96) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' 这里可以看到 使用了CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
这样就可以在创建的时候 指定该字段的编码格式
或者我的需求可能是,将已经是utf-8的表修改成utf8mb4可以使用
ALTER TABLE test DEFAULT CHARACTER SET utf8mb4;
我只在服务器上创建过和修改过默认编码 还并没有试过往这样的表中存储emoji 我想那一定很有趣。等周末闲下来了之后可以试试。