免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

MySQL幾種編碼格式的區別(utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci)

:2021年09月06日 騰訊云
分享到:

存儲字符集 utf8 和 utf8mb4utf8 是 Mysql 中的一種字符集,只支持最長三個字節的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。要在 Mysql 中保存 4 字節長度的 UTF-8 字符,需要使用 utf8mb4 字符...

存儲字符集 utf8 和 utf8mb4

utf8 是 Mysql 中的一種字符集,只支持最長三個字節的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。

要在 Mysql 中保存 4 字節長度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持。我覺得,為了獲取更好的兼容性,應該總是使用 utf8mb4 而非 utf8. 對于 CHAR 類型數據,utf8mb4 會多消耗一些空間,根據 Mysql 官方建議,使用 VARCHAR 替代 CHAR。

如果數據庫默認字符集不是 utf8mb4,那么可以在創建數據庫時指定字符集:

代碼語言:javascript

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

查看編碼格式

mysql> show variables like "%char%";+--------------------------------------+--------------------------------+| Variable_name            | Value             |+--------------------------------------+--------------------------------+| character_set_client         | utf8mb4            || character_set_connection       | utf8mb4            || character_set_database        | utf8mb4            || character_set_filesystem       | binary             || character_set_results        | utf8mb4            || character_set_server         | utf8mb4            || character_set_system         | utf8              || character_sets_dir          | /usr/share/mysql-8.0/charsets/ || validate_password.special_char_count | 1               |+--------------------------------------+--------------------------------+9 rows in set (0.00 sec)

代碼語言:javascript

mysql> show variables like "%char%";+--------------------------------------+--------------------------------+| Variable_name            | Value             |+--------------------------------------+--------------------------------+| character_set_client         | utf8mb4            || character_set_connection       | utf8mb4            || character_set_database        | utf8mb4            || character_set_filesystem       | binary             || character_set_results        | utf8mb4            || character_set_server         | utf8mb4            || character_set_system         | utf8              || character_sets_dir          | /usr/share/mysql-8.0/charsets/ || validate_password.special_char_count | 1               |+--------------------------------------+--------------------------------+9 rows in set (0.00 sec)

MySQL 配置文件中字符集相關變量

character_set_client:客戶端請求數據的字符集

character_set_connection:從客戶端接收到數據,然后傳輸的字符集

character_set_database:默認數據庫的字符集,無論默認數據庫如何改變,都是這個字符集;如果沒有默認數據庫,那就使用 character_set_server 指定的字符集,這個變量建議由系統自己管理,不要人為定義。

character_set_filesystem:把操作系統上的文件名轉化成此字符集,即把 character_set_client 轉換 character_set_filesystem, 默認 binary 是不做任何轉換的

character_set_results:結果集的字符集

character_set_server:數據庫服務器的默認字符集

character_set_system:存儲系統元數據的字符集,總是 utf8,不需要設置

排序字符集

utf8mb4_unicode_ci 和 utf8mb4_general_ci

1、準確性

utf8mb4_unicode_ci 是基于標準的 Unicode 來排序和比較,能夠在各種語言之間精確排序

utf8mb4_general_ci 沒有實現 Unicode 排序規則,在遇到某些特殊語言或者字符集,排序結果可能不一致。

但是絕大多數情況下,這些特殊字符的順序并不需要那么精確。

2、性能

utf8mb4_general_ci 在比較和排序的時候更快

utf8mb4_unicode_ci 在特殊情況下,Unicode 排序規則為了能夠處理特殊字符的情況,實現了略微復雜的排序算法。

但是在絕大多數情況下,不會發生此類復雜比較。相比選擇哪一種 collation,使用者更應該關心字符集與排序規則在 db 里需要統一。

utf8mb4_0900_ai_ci

推薦用 utf8mb4_unicode_ci,但是用 utf8mb4_general_ci 也沒啥問題。

MySQL 8.0 默認的是 utf8mb4_0900_ai_ci,屬于 utf8mb4_unicode_ci 中的一種,具體含義如下:

uft8mb4 表示用 UTF-8 編碼方案,每個字符最多占 4 個字節。

0900 指的是 Unicode 校對算法版本。(Unicode 歸類算法是用于比較符合 Unicode 標準要求的兩個 Unicode 字符串的方法)。

ai 指的是口音不敏感。也就是說,排序時 e,è,é,ê 和 ? 之間沒有區別。

ci 表示不區分大小寫。也就是說,排序時 p 和 P 之間沒有區別。

utf8mb4 已成為默認字符集,在 MySQL 8.0.1 及更高版本中將 utf8mb4_0900_ai_ci 作為默認排序規則。以前,utf8mb4_general_ci 是默認排序規則。由于 utf8mb4_0900_ai_ci 排序規則現在是默認排序規則,因此默認情況下新表格可以存儲基本多語言平面之外的字符。現在可以默認存儲表情符號。如果需要重音靈敏度和區分大小寫,則可以使用 utf8mb4_0900_as_cs 代替。

參考:

https://www.rednn.com/createsite/202003/26108.html

https://www.jb51.net/article/186609.htm

本文參與 騰訊云自媒體同步曝光計劃,分享自作者個人站點/博客。

原始發表:2020/10/26 ,如有侵權請聯系 cloudcommunity@tencent.com 刪除

原文來源:https://cloud.tencent.com/developer/article/1872879

[我要糾錯]
[編輯:宋聰喬 &發表于江蘇]
關鍵詞: 存儲 字符集 utf8 utf8mb4utf8 Mysql

來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:MySQL幾種編碼格式的區別(utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci)

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利

蘇公網安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統計

主站蜘蛛池模板: 伊人色综合琪琪久久社区 | 成人国产精品999视频 | 国产日韩精品欧美一区喷水 | 国产亚洲欧美日韩在线观看不卡 | 欧美青青 | 日本理论片在线播放 | www.天天色.com | 天天影视色香欲综合网网站麻豆 | 天天摸天天做天天爽水多 | 成人中文字幕一区二区三区 | 欧美成人看片 | 成人网视频免费播放 | 操操操免费视频 | 久久免费视频1 | 国产自啪啪 | 亚洲免费在线视频观看 | 亚洲精品高清国产一久久 | 国产在线播放网址 | 日韩一本在线 | 亚洲欧美日韩高清综合678 | 日本三级香港三级人妇99视 | 全部免费国产潢色一级 | 日韩国产欧美成人一区二区影院 | 亚洲精品国产综合一线久久 | 国产 欧美 日韩在线 | 亚洲国产一区在线观看 | 日日操夜夜爱 | 97久久综合九色综合 | 久久精品中文字幕第一页 | 日本在线不卡免 | 劲爆欧美精品13页 | 黄色的视频免费观看 | 98精品国产高清在线xxxx | 好男人在线社区www免费看 | 久免费视频 | 性大特级毛片视频 | 大胆国模一区二区三区伊人 | 久久成人性色生活片 | 欧美激情 亚洲 | 91视频站 | 免费成年人视频 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產品享最低成本,有需要聯系,
  • 卡爾蔡司鏡片優惠店,鏡片價格低
  • 蘋果原裝手機殼