2018-08-29:utf8_bin剑肯、utf8_general_ci與utf8_unicode_ci的區(qū)別

一捧毛、字符集(Character set)

  字符集是多個(gè)字符(英文字符,漢字字符让网,或者其他國(guó)家語(yǔ)言字符)的集合呀忧,字符集種類(lèi)較多,每個(gè)字符集包含的字符個(gè)數(shù)不同溃睹。

1)特點(diǎn):

①字符編碼方式是用一個(gè)或多個(gè)字節(jié)表示字符集中的一個(gè)字符

②每種字符集都有自己特有的編碼方式而账,因此同一個(gè)字符,在不同字符集的編碼方式下因篇,會(huì)產(chǎn)生不同的二進(jìn)制

2)常見(jiàn)字符集:

ASCII字符集:基于羅馬字母表的一套字符集泞辐,它采用1個(gè)字節(jié)的低7位表示字符,高位始終為0竞滓。

LATIN1字符集:相對(duì)于ASCII字符集做了擴(kuò)展铛碑,仍然使用一個(gè)字節(jié)表示字符,但啟用了高位虽界,擴(kuò)展了字符集的表示范圍汽烦。

GBK字符集:支持中文,字符有一字節(jié)編碼和兩字節(jié)編碼方式莉御。

UTF8字符集:Unicode字符集的一種撇吞,是計(jì)算機(jī)科學(xué)領(lǐng)域里的一項(xiàng)業(yè)界標(biāo)準(zhǔn)俗冻,支持了所有國(guó)家的文字字符,utf8采用1-4個(gè)字節(jié)表示字符牍颈。

二迄薄、校對(duì)規(guī)則

校對(duì)規(guī)則(collation):是在字符集內(nèi)用于字符比較和排序的一套規(guī)則,比如有的規(guī)則區(qū)分大小寫(xiě)煮岁,有的則無(wú)視讥蔽。

三.? utf8_bin、utf8_general_ci與utf8_unicode_ci的區(qū)別画机。

ci是 case insensitive, 即 "大小寫(xiě)不敏感", a 和 A 會(huì)在字符判斷中會(huì)被當(dāng)做一樣的;

bin 是二進(jìn)制, a 和 A 會(huì)別區(qū)別對(duì)待.

例如你運(yùn)行:?

? ? ? ? ? ? ? ? ?SELECT * FROM table WHERE txt = 'a';

那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 則可以冶伞。

1) utf8_general_ci 不區(qū)分大小寫(xiě),這個(gè)你在注冊(cè)用戶名和郵箱的時(shí)候就要使用步氏。

2) utf8_general_cs 區(qū)分大小寫(xiě)响禽,如果用戶名和郵箱用這個(gè) 就會(huì)照成不良后果。

3) utf8_bin:字符串每個(gè)字符串用二進(jìn)制數(shù)據(jù)編譯存儲(chǔ)荚醒。 區(qū)分大小寫(xiě)芋类,而且可以存二進(jìn)制的內(nèi)容。

4) utf8_unicode_ci和utf8_general_ci對(duì)中界阁、英文來(lái)說(shuō)沒(méi)有實(shí)質(zhì)的差別侯繁。

5) utf8_general_ci校對(duì)速度快,但準(zhǔn)確度稍差泡躯。(準(zhǔn)確度夠用巫击,一般建庫(kù)選擇這個(gè))

6) utf8_unicode_ci準(zhǔn)確度高,但校對(duì)速度稍慢精续。

四.?utf8_general_ci與utf8_unicode_ci的區(qū)別

一般的解說(shuō)是 utf8_general_ci 速度較快坝锰,utf8_unicode_ci 準(zhǔn)確性較好 … 但快在哪里,又好在什么地方呢重付?

首先就其準(zhǔn)確性說(shuō)顷级,這世界上有無(wú)數(shù)種文字,除了通用的英文使用我們較熟悉的 A-Z 字符外确垫,還有很多種近似的寫(xiě)法用于法文弓颈、德文、俄文等等删掀。

光是一個(gè) A 字就有數(shù)十種不同表現(xiàn)

為什么不都用同一種 A 呢翔冀,幾十種多麻煩啊。事實(shí)上披泪,它們?cè)谒鶎俚奈淖稚隙几饔幸饬x纤子,可能代表不同的發(fā)音,也可能是其他東西。在某些語(yǔ)言上控硼,同一個(gè)單詞不同發(fā)音可能就代表兩個(gè)意思泽论。

校對(duì)規(guī)則

utf8_unicode_ci 及 utf8_general_ci 的用途就是對(duì)那些看起來(lái)不一樣的字符進(jìn)行轉(zhuǎn)換,令我們進(jìn)行排序比對(duì)時(shí)更方便準(zhǔn)確卡乾。

以下面為例翼悴,直接看起來(lái)是不相等的,但在實(shí)際應(yīng)用上是成立的幔妨,這就是 utf8_unicode_ci 及 utf8_general_ci 工作的結(jié)果鹦赎。

? = A

? = O

ü = U

utf8_unicode_ci的最主要的特色是支持?jǐn)U展,將一個(gè)特別字符轉(zhuǎn)換成多于一個(gè)英文字符即當(dāng)把一個(gè)字母看作其它字母組合相等误堡。以德文中的 s 例:

在 utf8_unicode_ci 下面等式是成立

? = ss

在 utf8_general_ci 只有這樣才成立

? = s

而 且utf8_unicode_ci 準(zhǔn)確性較好還表現(xiàn)在它有更完整的字元對(duì)照表上古话。因?yàn)?utf8_unicode_ci 有更完整字符表及轉(zhuǎn)換規(guī)則,所以在排序的準(zhǔn)確性上也比 utf8_general_ci 高一些埂伦。

以上utf8_general_ci 字符表的一部份

utf8_unicode_ci 有更完整的字符表

效能:同樣因?yàn)?utf8_unicode_ci 的字符表及轉(zhuǎn)換規(guī)則更復(fù)雜,所以在效能上比 utf8_general_ci 慢思恐。

總結(jié):如果你的應(yīng)用是德文沾谜、俄文等等,或者需要精確處理國(guó)際化的內(nèi)容胀莹,請(qǐng)用 utf8_unicode_ci 基跑。否則的話用 utf8_general_ci 就可以了。

備注:雖然說(shuō) utf8_unicode_ci 的字集比較完整描焰,但其實(shí)還是不全的媳否,所以 MySQL 還提供了很多種其他語(yǔ)言的專(zhuān)用字集,用于特別的本地應(yīng)用荆秦,詳細(xì)可以看看下面的官網(wǎng)連結(jié)





轉(zhuǎn)載自https://www.jb51.net/article/48775.htm

https://www.cnblogs.com/geaozhang/p/6724393.htmlutm_source=itdadao&utm_medium=referral

https://www.cnblogs.com/sunsoftware/p/4604773.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末篱竭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子步绸,更是在濱河造成了極大的恐慌掺逼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓤介,死亡現(xiàn)場(chǎng)離奇詭異吕喘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)刑桑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)氯质,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人祠斧,你說(shuō)我怎么就攤上這事闻察。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵蜓陌,是天一觀的道長(zhǎng)觅彰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)钮热,這世上最難降的妖魔是什么填抬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮隧期,結(jié)果婚禮上飒责,老公的妹妹穿的比我還像新娘。我一直安慰自己仆潮,他們只是感情好宏蛉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著性置,像睡著了一般拾并。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鹏浅,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天嗅义,我揣著相機(jī)與錄音,去河邊找鬼隐砸。 笑死之碗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的季希。 我是一名探鬼主播褪那,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼式塌!你這毒婦竟也來(lái)了博敬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤峰尝,失蹤者是張志新(化名)和其女友劉穎冶忱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體境析,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡囚枪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了劳淆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片链沼。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沛鸵,靈堂內(nèi)的尸體忽然破棺而出括勺,到底是詐尸還是另有隱情缆八,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布疾捍,位于F島的核電站奈辰,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏乱豆。R本人自食惡果不足惜奖恰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宛裕。 院中可真熱鬧瑟啃,春花似錦、人聲如沸揩尸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)岩榆。三九已至错负,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勇边,已是汗流浹背犹撒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粥诫,地道東北人油航。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓崭庸,卻偏偏與公主長(zhǎng)得像怀浆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怕享,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容