建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详细内容,对大家有帮助吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

相关内容

热门资讯

扎哈罗娃批小泉进次郎涉核言论:... 【环球网报道 记者 张江平】综合俄新社等媒体报道,对于日本防卫大臣小泉进次郎涉核言论,俄罗斯外交部发...
“特高课”再现?日本强推“国家... 无视反对战争正义呼声 复刻战前军国主义体制日本强推“国家情报局”引发广泛担忧和批评(国际视点)本报记...
6G相比5G不只是速度更快 将...   6G相比5G不只是速度更快  【6G相比5G不只是速度更快】7月28日,相比5G,6G不仅是速度...
趣享夏日消保同行 泰康人寿深圳...   7月12日,为落实2026年“7·8全国保险公众宣传日”工作部署,泰康人寿深圳分公司结合三十周年...
泰康人寿深圳分公司联合泰康养老...   为深入践行金融工作的政治性、人民性,切实守护新就业群体的财产安全,7月23日下午,在深圳市居民金...
中牟改善买房必看:三代宅和四代... 准备在中牟买改善房的人,十有八九会纠结同一个问题:到底是买传统的第三代住宅,还是紧跟郑州置业主流买第...
徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...