·Home 2019 登陆记录 最新更新 资料库SEO官方淘宝店
查看: 5|回复: 0

[Discuz!X3.5] Discuz!X3.5将对取消数据库UTF8编码的支持,转为UTF8-mb4编码

[复制链接]

767

主题

1539

能量

5

贡献币

无敌战神

Rank: 9Rank: 9Rank: 9

发表于 3 天前 | 显示全部楼层 |阅读模式
       X3.5版本,支持InnoDB与MyISAM两种数据库引擎,在两种引擎下数据库都不再支持utf8编码,转而支持utf8mb4编码。

       无论是InnoDB还是MyISAM,所有的表都使用utf8mb4编码与utf8mb4_unicode_ci,该编码的支持,将直接导致X3.5支持emoj表情。

       mysql在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等(utf8的缺点)。

帖子地址: 

 懒得打字嘛,点击右侧快捷回复【最新发布】   【赞助站长帮享更多权益】
高级模式
您需要登录后才可以回帖 登录 | 立即注册 用百度帐号登录

本版积分规则

收缩
发布主题 快速回复 收藏帖子 返回列表 联系我们 搜索 官方QQ群
成为站长帮会员,享受Discuz!建站插件、模板、技术支持等全方位服务。 会员登录 注册会员

站长帮.(zzb7.net) ( 京ICP备18032088号-2 ) |GMT+8, 2020-5-26 04:05

Processed in 0.177170 second(s) , Gzip On, Redis On. 小黑屋|繁體
快速回复 返回顶部 返回列表