建Mysql数据库时为什么不适用utf8
admin
2023-04-18 07:44:04
0

本篇文章给大家主要讲的是关于建Mysql数据库时为什么不适用utf8的内容,感兴趣的话就一起来看看这篇文章吧,相信看完建Mysql数据库时为什么不适用utf8对大家多少有点参考价值吧。 

当然,现在建数据库时,大家一般都会使用utf8mb4,那为什么不适用utf8呢,其实是一个坑。
mysql中的utf8只支持每个字符三个字节,而真正的UTF-8是每个字符最多四字节,这可以算数Mysql的一个bug。在mysql中,真正支持UTF-8的字符集是utf8mb4,占用四个字节。
历史数据是这样的:
2003年,MySQL 从 4.1 版本开始支持 UTF-8,但是这是一个旧版的标准(RFC 2279),新版的UTF-8标准(RFC 3629)是之后才出现的。
RFC 2279最多支持每个字符 6 个字节。但是在2002年9月,MySQL源代码进行了一次调整:“UTF8 现在最多只支持 3 个字节的序列”。至于调整的原因,目前也已经无从考证了。
可以猜测一下,大概是当初的设计者想要占用更少的空间,达到更快的查询速度吧。6个字节有点多,3个字节足够了。但是这也就造成了由于存储空间不够,不能兼容RFC 3629标准。
所以utf8可以说是mysql的独创的一套字符集,并不符合字面给人的认知。人们发现了他的问题之后,期待MySQL进行修复。不过可能是因为种种原因吧,mysql并没有修复utf8的问题,而是在 2010 年重新发布了“utf8mb4”来支持真正的UTF-8。
所以呢,重要的事说三遍。
mysql中,utf8不是真正的支持UTF-8的字符集,utf8mb4才是。
mysql中,utf8不是真正的支持UTF-8的字符集,utf8mb4才是。
mysql中,utf8不是真正的支持UTF-8的字符集,utf8mb4才是。
建Mysql数据库时为什么不适用utf8

以上关于建Mysql数据库时为什么不适用utf8详细内容,对大家有帮助吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

相关内容

热门资讯

终于了解“酷玩联盟究竟有挂吗?... 终于了解“酷玩联盟究竟有挂吗?”(外卦神器下载)您好,酷玩联盟这个游戏其实有挂的,确实是有挂的,需要...
今日重大消息“微信小程序掼蛋是... 网上科普关于“微信小程序掼蛋有没有挂”话题很是火热,小编也是针对微信小程序掼蛋作*弊开挂的方法以及开...
今日重磅消息“新众亿炸/金/花... 网上科普关于“新众亿炸/金/花有没有挂”话题很是火热,小编也是针对新众亿炸/金/花作*弊开挂的方法以...
【第一财经】“新毛豆互娱到底是... 【第一财经】“新毛豆互娱到底是不是挂?”(其实是有挂)您好,新毛豆互娱这个游戏其实有挂的,确实是有挂...
终于懂了“欢乐情怀开挂器?”(... 有 亲,根据资深记者爆料欢乐情怀是可以开挂的,确实有挂(咨询软件无需打开...
紫燕食品创新研究院:以科研赋能... 在消费升级驱动食品行业高质量发展的背景下,研发创新成为企业核心竞争力的关键支撑。作为卤味行业领军企业...
玩家攻略科普“桂麻圈怎么开挂?... 家人们!今天小编来为大家解答桂麻圈透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很多...
【第一消息】“海阔麻将到底是不... 有 亲,根据资深记者爆料海阔麻将是可以开挂的,确实有挂(咨询软件无需打开...
终于懂了“阿当福建麻将到底有挂... 网上科普关于“阿当福建麻将有没有挂”话题很是火热,小编也是针对阿当福建麻将作*弊开挂的方法以及开挂对...
今日重磅消息“友间十三张真的有... 您好:友间十三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...