日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

utf8_unicode_ci和utf8_general_ci區別

作者:Casey·Hu 更新時間: 2022-05-25 編程語言

起因

當剛剛接觸到MySQL的時候,使用可視化工具在新建數據的時候,選擇
字符集和排序規則的時候
在這里插入圖片描述
當時只是跟著老師,選擇排序規則,沒有考慮為啥要選擇
utf8_unicode_ci
當今天看見,b站的教程里出現了,選擇utf8_general_ci
在這里插入圖片描述

就很不明白,這兩個的區別
于是乎就百度了一下哈哈哈

結果

由官方解釋說:



     當前,utf8_unicode_ci校對規則僅部分支持Unicode校對規則算法。一些字符還是不能支持。并且,不能完全支持組合的記號。這主要影響越南和俄羅斯的一些少數民族語言,如:UdmurtTatarBashkirMari。
     utf8_unicode_ci的最主要的特色是支持擴展,即當把一個字母看作與其它字母組合相等時。例如,在德語和一些其它語言中‘?'等于‘ss'。
     utf8_general_ci是一個遺留的 校對規則,不支持擴展。它僅能夠在字符之間進行逐個比較。這意味著utf8_general_ci校對規則進行的比較速度很快,但是與使用utf8_unicode_ci的 校對規則相比,比較正確性較差)。
     例如,使用utf8_general_ci和utf8_unicode_ci兩種 校對規則下面的比較相等:

     ? = A

     ? = O

     ü = U
     兩種校對規則之間的區別是,對于utf8_general_ci下面的等式成立:

     ? = s
     但是,對于utf8_unicode_ci下面等式成立:

     ? = ss
     對于一種語言僅當使用utf8_unicode_ci排序做的不好時,才執行與具體語言相關的utf8字符集 校對規則。例如,對于德語和法語,utf8_unicode_ci工作的很好,因此不再需要為這兩種語言創建特殊的utf8校對規則。
     utf8_general_ci也適用與德語和法語,除了‘?'等于‘s',而不是‘ss'之外。如果你的應用能夠接受這些,那么應該使用utf8_general_ci,因為它速度快。否則,使用utf8_unicode_ci,因為它比較準確。


簡短總結

utf8_unicode_ci和utf8_general_ci對中、英文來說沒有實質的差別。
utf8_general_ci校對速度快,但準確度稍差。
utf8_unicode_ci準確度高,但校對速度稍慢。

如果你的應用有德語、法語或者俄語,請一定使用utf8_unicode_ci。如果沒有的話選擇utf8_general_ci也是可以的

祝您萬事順心,沒事點個贊唄,關注一下也行啊,如有不對請指正?

原文鏈接:https://blog.csdn.net/qq_43658218/article/details/123033269

欄目分類
最近更新