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

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

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

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

存儲(chǔ)字符集 utf8 和 utf8mb4

utf8 是 Mysql 中的一種字符集,只支持最長(zhǎng)三個(gè)字節(jié)的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。

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

如果數(shù)據(jù)庫(kù)默認(rèn)字符集不是 utf8mb4,那么可以在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定字符集:

代碼語(yǔ)言: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)

代碼語(yǔ)言: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 配置文件中字符集相關(guān)變量

character_set_client:客戶端請(qǐng)求數(shù)據(jù)的字符集

character_set_connection:從客戶端接收到數(shù)據(jù),然后傳輸?shù)淖址?/p>

character_set_database:默認(rèn)數(shù)據(jù)庫(kù)的字符集,無(wú)論默認(rèn)數(shù)據(jù)庫(kù)如何改變,都是這個(gè)字符集;如果沒(méi)有默認(rèn)數(shù)據(jù)庫(kù),那就使用 character_set_server 指定的字符集,這個(gè)變量建議由系統(tǒng)自己管理,不要人為定義。

character_set_filesystem:把操作系統(tǒng)上的文件名轉(zhuǎn)化成此字符集,即把 character_set_client 轉(zhuǎn)換 character_set_filesystem, 默認(rèn) binary 是不做任何轉(zhuǎn)換的

character_set_results:結(jié)果集的字符集

character_set_server:數(shù)據(jù)庫(kù)服務(wù)器的默認(rèn)字符集

character_set_system:存儲(chǔ)系統(tǒng)元數(shù)據(jù)的字符集,總是 utf8,不需要設(shè)置

排序字符集

utf8mb4_unicode_ci 和 utf8mb4_general_ci

1、準(zhǔn)確性

utf8mb4_unicode_ci 是基于標(biāo)準(zhǔn)的 Unicode 來(lái)排序和比較,能夠在各種語(yǔ)言之間精確排序

utf8mb4_general_ci 沒(méi)有實(shí)現(xiàn) Unicode 排序規(guī)則,在遇到某些特殊語(yǔ)言或者字符集,排序結(jié)果可能不一致。

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

2、性能

utf8mb4_general_ci 在比較和排序的時(shí)候更快

utf8mb4_unicode_ci 在特殊情況下,Unicode 排序規(guī)則為了能夠處理特殊字符的情況,實(shí)現(xiàn)了略微復(fù)雜的排序算法。

但是在絕大多數(shù)情況下,不會(huì)發(fā)生此類復(fù)雜比較。相比選擇哪一種 collation,使用者更應(yīng)該關(guān)心字符集與排序規(guī)則在 db 里需要統(tǒng)一。

utf8mb4_0900_ai_ci

推薦用 utf8mb4_unicode_ci,但是用 utf8mb4_general_ci 也沒(méi)啥問(wèn)題。

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

uft8mb4 表示用 UTF-8 編碼方案,每個(gè)字符最多占 4 個(gè)字節(jié)。

0900 指的是 Unicode 校對(duì)算法版本。(Unicode 歸類算法是用于比較符合 Unicode 標(biāo)準(zhǔn)要求的兩個(gè) Unicode 字符串的方法)。

ai 指的是口音不敏感。也就是說(shuō),排序時(shí) e,è,é,ê 和 ? 之間沒(méi)有區(qū)別。

ci 表示不區(qū)分大小寫(xiě)。也就是說(shuō),排序時(shí) p 和 P 之間沒(méi)有區(qū)別。

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

參考:

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

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

本文參與 騰訊云自媒體同步曝光計(jì)劃,分享自作者個(gè)人站點(diǎn)/博客。

原始發(fā)表:2020/10/26 ,如有侵權(quán)請(qǐng)聯(lián)系 cloudcommunity@tencent.com 刪除

原文來(lái)源:https://cloud.tencent.com/developer/article/1872879

[我要糾錯(cuò)]
文:宋聰喬&發(fā)表于江蘇
關(guān)鍵詞: 存儲(chǔ) 字符集 utf8 utf8mb4utf8 Mysql

來(lái)源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺(tái),并已注明來(lái)源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請(qǐng)聯(lián)系小編,我們會(huì)及時(shí)審核處理。
聲明:江蘇教育黃頁(yè)對(duì)文中觀點(diǎn)保持中立,對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對(duì)文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。

點(diǎn)個(gè)贊
0
踩一腳
0

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

Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺(tái)保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號(hào)-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司

南京思必達(dá)教育科技有限公司版權(quán)所有   百度統(tǒng)計(jì)

主站蜘蛛池模板: 大陆一级黄色片 | 亚洲三区视频 | 狠狠躁夜夜躁人人爽天天 | 国产视频一区二区在线观看 | 最新欧美精品一区二区三区 | 黄色小视频免费网站 | 香蕉视频在线免费 | 日韩欧美成人免费中文字幕 | 88影视在线观看污污 | 中文字幕亚洲国产 | 国产日韩欧美精品一区二区三区 | 欧美成亚洲 | 欧美成人片在线 | 美女免费黄网站 | 午夜a级毛片| 午夜激情影视 | 亚洲欧美日产综合一区二区三区 | 亚洲福利在线观看 | 欧美日韩亚洲综合在线一区二区 | 国产成+人+综合+亚洲不卡 | 成人男女18免费o | 日韩在线视频播放 | 91在线公开视频 | 久久综合九色综合97小说 | 婷婷成人综合 | 一个人看的www片免费高清中文 | 制服丝袜第一页在线观看 | 中文在线观看永久免费 | 欧美精品不卡 | 免费人成网站免费看视频 | 国产黄的网站免费 | 欧美日韩一区二区视频图片 | 免费a黄色| 久爱www成人网免费视频 | 免费的黄网站 | 国产精选在线 | 亚洲人成网站在线观看播放青青 | 女人被男人扒开狂躁视频 | 亚洲欧美日韩在线一区二区三区 | 欧美综合色另类图片区 | 海天翼精品一区二区三区 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價(jià)格低
  • 蘋(píng)果原裝手機(jī)殼