国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

為什么不建議在 MySQL 中使用 utf8 ?

0
分享至

今天在知乎上看到這樣一個(gè)問(wèn)題:"為什么不建議在MySQL 中使用 utf8?"


問(wèn)題地址:https://www.zhihu.com/question/630892089

網(wǎng)友 1:靈狐技術(shù)

MySQL當(dāng)年在支持utf8的時(shí)候,自作聰明整了些優(yōu)化措施。

結(jié)果,大家使用過(guò)一段時(shí)間后,發(fā)現(xiàn)了這些優(yōu)化措施,不能完整地支持utf8。

MySQL后面想修正這個(gè)bug。

但是,這個(gè)優(yōu)化版utf8已經(jīng)在外面大量使用了。

所以,MySQL只好保留了bug版的優(yōu)化utf8,然后整了個(gè)utf8mb4來(lái)重新支持utf8標(biāo)準(zhǔn)。

MySQL的這個(gè)教訓(xùn)說(shuō)明:

對(duì)于標(biāo)準(zhǔn)化的東西,別瞎捉摸;

你的理解再怎么自認(rèn)為有道理,沒(méi)用!只會(huì)闖禍!

你做的題,只要對(duì)不上公開(kāi)的標(biāo)準(zhǔn)答案,就是零分

又甜又甜:這個(gè)吃過(guò)大虧,現(xiàn)在很多訂單里面會(huì)有表情符號(hào),如果直接保存訂單內(nèi)容會(huì)直接從表情符號(hào)后截?cái)?,沒(méi)有后面的內(nèi)容
風(fēng)之帆:因?yàn)镸ySQL的utf8是閹割版的utf8,utf8mb4才是真正的utf8。
邵NewBee:被坑過(guò)一次,項(xiàng)目開(kāi)發(fā)上線了發(fā)現(xiàn)不支持表情回復(fù)。
精靈福將馬國(guó)成:我們公司最開(kāi)始一個(gè)項(xiàng)目,當(dāng)時(shí)MySQL數(shù)據(jù)庫(kù)設(shè)置utf8,項(xiàng)目使用了半年,然后錄入了廣東那邊一個(gè)人身份證名稱(chēng)帶有生僻字,導(dǎo)致入庫(kù)報(bào)錯(cuò),后來(lái)我們把utf8改成utf8mb4就好了。

網(wǎng)友2:寫(xiě)代碼和簡(jiǎn)談人文

MySQL的utf8只支持每個(gè)字符最多三個(gè)字節(jié),而我們需要的是最多四個(gè)字節(jié),從而我們?cè)诓僮髯址畷r(shí),會(huì)遇到一些很難溯源的bug(比如表情存儲(chǔ))。MySQL在2010發(fā)布了utf8mb4來(lái)支持四個(gè)字節(jié),可以說(shuō)MySQL的utf8mb4是我們真正意義上的UTF-8。MySQL本意是想在utf8上保持空間和速度,但是在使用utf8的char列時(shí),實(shí)際使用的空間比預(yù)期更大,速度也慢,而且無(wú)法保存“”這樣的字符,MySQL發(fā)布了utf8mb4來(lái)繞過(guò)了這個(gè)問(wèn)題。

網(wǎng)友3:CoderJia

在MySQL 8.0中,推薦使用的編碼是utf8mb4。這種編碼方式完全兼容utf8,每個(gè)字符最多占4個(gè)字節(jié),就可以支持更多的字符,原來(lái)的utf8編碼只能存儲(chǔ)最多三個(gè)字節(jié)的字符,這在存儲(chǔ)某些國(guó)家的文字或罕見(jiàn)字時(shí)有些困難了。從MySQL 8.0版本開(kāi)始,其默認(rèn)的連接字符集從latin1改為了utf8mb4,同時(shí)字符序也從latin1_swedish_ci改為了utf8mb4_0900_ai_ci。當(dāng)使用utf8mb4字符集時(shí),通常推薦使用utf8mb4_unicode_ci或utf8mb4_general_ci排序規(guī)則。


SQL亂碼問(wèn)題


查看編碼


my.ini配置文件

網(wǎng)友4:愛(ài)可生云數(shù)據(jù)庫(kù)

官方在后續(xù)的 MySQL 版本也會(huì)逐漸刪除 utf8。在深入探討 utf8mb4 的好處之前,我們先澄清一下 utf8mb4 代表什么。在 MySQL 中,“utf8”是指支持 Unicode 字符集的字符編碼,每個(gè)字符最多使用三個(gè)字節(jié)。然而,MySQL 中原始的 utf8 實(shí)現(xiàn)并沒(méi)有涵蓋所有 Unicode 字符。另一方面,utf8mb4 是 utf8 的修改版本,它支持完整的 Unicode 字符集,包括表情符號(hào)和其他補(bǔ)充字符,每個(gè)字符最多使用四個(gè)字節(jié)。MySQL 中原始的 utf8 實(shí)現(xiàn)僅支持基本多文種平面(BMP)中的字符,大約占所有 Unicode 字符的 90%。另一方面,utf8mb4 支持整個(gè) Unicode 字符集,包括表情符號(hào)和其他補(bǔ)充字符。它通過(guò)每個(gè)字符最多使用四個(gè)字節(jié)而不是 utf8 使用的三個(gè)字節(jié)來(lái)實(shí)現(xiàn)此目的。下表顯示了 utf8 和 utf8mb4 之間的區(qū)別:



注意:歷史上,MySQL 使用字符集 utf8 作為 utf8mb3 的別名。但是,從 MySQL 8.0.28 開(kāi)始,utf8mb3 僅在 SHOW 語(yǔ)句的輸出和信息架構(gòu)表中引用該字符集時(shí)使用。未來(lái),utf8 有望成為 utf8mb4 的參考。為了避免任何歧義,建議在引用該字符集時(shí)顯式指定 utf8mb4。如您所見(jiàn),utf8、utf8mb3 和 utf8mb4 之間的主要區(qū)別在于每個(gè)字符的最大字節(jié)數(shù)。utf8 和 utf8mb3 只能存儲(chǔ) BMP 中的字符,而 utf8mb4 還可以存儲(chǔ)補(bǔ)充平面(Supplementary Plane)中的字符。這意味著 utf8mb4 可以支持更廣泛的字符,包括表情符號(hào)、數(shù)學(xué)符號(hào)和其他特殊字符。這三個(gè)字符集之間的另一個(gè)區(qū)別是它們?cè)?MySQL 中的默認(rèn)狀態(tài)。utf8 是 MySQL 5.7 及更早版本中的默認(rèn)字符集,而 utf8mb3 是 MySQL 8.0 中的默認(rèn)字符集。但是,utf8mb4 是 MySQL 8.0.28 及更高版本中的默認(rèn)字符集。最后,MySQL 8.0 中已棄用 utf8 和 utf8mb3。這意味著它們最終將從 MySQL 中刪除,因此建議使用 utf8mb4 代替。因此,如果您需要存儲(chǔ)所有 Unicode 字符,包括表情符號(hào)和其他補(bǔ)充字符,那么您應(yīng)該使用 utf8mb4。但是,如果您只需要存儲(chǔ) BMP 中的字符,那么 utf8 可能就足夠了。

網(wǎng)友5:春秋的囈語(yǔ)

用不等式秒殺MySQL utf8 ≠ utf8

網(wǎng)友6:學(xué)好邏輯再來(lái)辯

MySQL經(jīng)典冷笑話:

我的 utf8 不是 utf8,

我的 utf8mb4 才是 utf8!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
中國(guó)腦梗人數(shù)全球第一:肉吃得越少,血管就越通,真的嗎?

中國(guó)腦梗人數(shù)全球第一:肉吃得越少,血管就越通,真的嗎?

蜉蝣說(shuō)
2026-03-24 10:00:57
被我國(guó)慣壞了!美國(guó)游客回國(guó)吐槽:連出門(mén)都變得不適應(yīng),落差太大

被我國(guó)慣壞了!美國(guó)游客回國(guó)吐槽:連出門(mén)都變得不適應(yīng),落差太大

萬(wàn)物知識(shí)圈
2026-03-02 12:40:28
李昌鈺去世!破無(wú)數(shù)驚天大案,“華人神探”李昌鈺到底有多牛?

李昌鈺去世!破無(wú)數(shù)驚天大案,“華人神探”李昌鈺到底有多牛?

FUFASHION
2026-03-28 10:14:30
國(guó)足勝庫(kù)拉索價(jià)值受質(zhì)疑,印尼嘲諷:兩負(fù)我隊(duì)卻進(jìn)世界杯

國(guó)足勝庫(kù)拉索價(jià)值受質(zhì)疑,印尼嘲諷:兩負(fù)我隊(duì)卻進(jìn)世界杯

五姑娘說(shuō)體育
2026-03-28 10:37:05
炸場(chǎng)!半個(gè)娛樂(lè)圈和頂級(jí)富豪都來(lái)了,抬頭千萬(wàn)名畫(huà),低頭億萬(wàn)身家

炸場(chǎng)!半個(gè)娛樂(lè)圈和頂級(jí)富豪都來(lái)了,抬頭千萬(wàn)名畫(huà),低頭億萬(wàn)身家

八斗小先生
2026-03-26 10:22:45
特朗普最怕的來(lái)了,關(guān)鍵時(shí)刻,中國(guó)加入戰(zhàn)斗,商務(wù)部:對(duì)美調(diào)查

特朗普最怕的來(lái)了,關(guān)鍵時(shí)刻,中國(guó)加入戰(zhàn)斗,商務(wù)部:對(duì)美調(diào)查

涼湫瑾言
2026-03-28 13:23:18
廣東省政協(xié)黨組召開(kāi)擴(kuò)大會(huì)議 堅(jiān)決擁護(hù)黨中央對(duì)郭永航涉嫌嚴(yán)重違紀(jì)違法進(jìn)行紀(jì)律審查和監(jiān)察調(diào)查的決定 林克慶主持會(huì)議

廣東省政協(xié)黨組召開(kāi)擴(kuò)大會(huì)議 堅(jiān)決擁護(hù)黨中央對(duì)郭永航涉嫌嚴(yán)重違紀(jì)違法進(jìn)行紀(jì)律審查和監(jiān)察調(diào)查的決定 林克慶主持會(huì)議

環(huán)球網(wǎng)資訊
2026-03-28 07:42:07
張雪峰3任愛(ài)人都愛(ài)運(yùn)動(dòng),前任談分手原因期待復(fù)合,理想型是楊冪

張雪峰3任愛(ài)人都愛(ài)運(yùn)動(dòng),前任談分手原因期待復(fù)合,理想型是楊冪

古希臘掌管松餅的神
2026-03-27 17:08:47
123:3!聯(lián)合國(guó)投票結(jié)果出爐,特朗普怕啥來(lái)啥,德黑蘭送中國(guó)大禮

123:3!聯(lián)合國(guó)投票結(jié)果出爐,特朗普怕啥來(lái)啥,德黑蘭送中國(guó)大禮

愛(ài)下廚的阿釃
2026-03-28 12:28:58
東航訂購(gòu)101架空客飛機(jī)

東航訂購(gòu)101架空客飛機(jī)

參考消息
2026-03-26 20:46:37
她長(zhǎng)得漂亮卻做盡壞事,演員生涯跌入谷底,小十五歲老公也給她戴綠帽

她長(zhǎng)得漂亮卻做盡壞事,演員生涯跌入谷底,小十五歲老公也給她戴綠帽

東方不敗然多多
2026-03-28 08:03:21
鋅是娃的聰明之根,春天多吃這倆菜,補(bǔ)腦長(zhǎng)個(gè)學(xué)習(xí)棒

鋅是娃的聰明之根,春天多吃這倆菜,補(bǔ)腦長(zhǎng)個(gè)學(xué)習(xí)棒

開(kāi)心美食白科
2026-03-28 04:12:33
尼科帕斯任意球破門(mén),梅西的舉動(dòng)引熱議!阿根廷新10號(hào)就此確定了

尼科帕斯任意球破門(mén),梅西的舉動(dòng)引熱議!阿根廷新10號(hào)就此確定了

小火箭愛(ài)體育
2026-03-28 09:32:30
南京男子回家迫不及待抱住妻子,結(jié)果家中鸚鵡一開(kāi)口,讓他崩潰!

南京男子回家迫不及待抱住妻子,結(jié)果家中鸚鵡一開(kāi)口,讓他崩潰!

白云故事
2025-03-14 19:05:07
中東實(shí)戰(zhàn)打出真相!伊朗越猛越顯中國(guó)實(shí)力,美軍徹底慌了神

中東實(shí)戰(zhàn)打出真相!伊朗越猛越顯中國(guó)實(shí)力,美軍徹底慌了神

小舟談歷史
2026-03-28 04:42:18
奴顏媚骨具象化,高市早苗三十年前照片被扒出,原來(lái)她從未變過(guò)!

奴顏媚骨具象化,高市早苗三十年前照片被扒出,原來(lái)她從未變過(guò)!

社會(huì)醬
2026-03-23 17:34:19
不結(jié)婚怎么解決生理需求?33歲的女頂流楊紫,用六個(gè)字道破真相!

不結(jié)婚怎么解決生理需求?33歲的女頂流楊紫,用六個(gè)字道破真相!

丁丁鯉史紀(jì)
2026-03-08 16:53:30
庫(kù)拉索主帥:結(jié)果不能代表球隊(duì)水平;中國(guó)隊(duì)充滿活力永不放棄

庫(kù)拉索主帥:結(jié)果不能代表球隊(duì)水平;中國(guó)隊(duì)充滿活力永不放棄

懂球帝
2026-03-27 18:33:05
原來(lái)他12年前就已離世!患病3年女兒不愿照看,死后為爭(zhēng)遺產(chǎn)現(xiàn)身

原來(lái)他12年前就已離世!患病3年女兒不愿照看,死后為爭(zhēng)遺產(chǎn)現(xiàn)身

白面書(shū)誏
2026-03-26 13:38:18
德羅贊一句“養(yǎng)老金到賬”引爆洛瑞40歲生日,兄弟情還是扎心玩笑

德羅贊一句“養(yǎng)老金到賬”引爆洛瑞40歲生日,兄弟情還是扎心玩笑

有態(tài)度的體育小白
2026-03-28 04:42:55
2026-03-28 14:51:00
ITPUB學(xué)院
ITPUB學(xué)院
分享技術(shù)干貨,了解最新動(dòng)態(tài)
1190文章數(shù) 629關(guān)注度
往期回顧 全部

科技要聞

遭中國(guó)學(xué)界"拉黑"后,這家AI頂會(huì)低頭道歉

頭條要聞

牛彈琴:伊朗狠角色強(qiáng)硬嘲諷美國(guó) 卻被美移出獵殺名單

頭條要聞

牛彈琴:伊朗狠角色強(qiáng)硬嘲諷美國(guó) 卻被美移出獵殺名單

體育要聞

“我是全家最差勁的運(yùn)動(dòng)員”

娛樂(lè)要聞

王一博改名上熱搜!個(gè)人時(shí)代正式開(kāi)啟!

財(cái)經(jīng)要聞

我在小吃培訓(xùn)機(jī)構(gòu)學(xué)習(xí)“科技與狠活”

汽車(chē)要聞

置換補(bǔ)貼價(jià)4.28萬(wàn)起 第五代宏光MINIEV正式上市

態(tài)度原創(chuàng)

藝術(shù)
教育
手機(jī)
健康
軍事航空

藝術(shù)要聞

細(xì)膩優(yōu)雅的花卉靜物畫(huà) | Henrietta Smith

教育要聞

健康學(xué)校怎么建?今晚19點(diǎn)35分,《教育縱深》聚焦山東如何深入落實(shí)“健康第一”

手機(jī)要聞

天璣9500性能天花板!一加Ace 6至尊版入網(wǎng):超高刷直屏+8000mAh級(jí)電池

干細(xì)胞抗衰4大誤區(qū),90%的人都中招

軍事要聞

伊朗:已組織超100萬(wàn)人為地面戰(zhàn)斗做準(zhǔn)備

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版