一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL中utf8和utf8mb4有什么區(qū)別

汽車玩家 ? 來源:IT生涯 ? 作者:IT生涯 ? 2020-04-12 19:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

MySQL在5.5.3之后增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來兼容四字節(jié)的unicode。utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉(zhuǎn)換。當(dāng)然,為了節(jié)省空間,一般情況下使用utf8也就夠了。

二、內(nèi)容描述

那上面說了既然utf8能夠存下大部分中文漢字,那為什么還要使用utf8mb4呢? 原來mysql支持的 utf8 編碼最大字符長度為 3 字節(jié),如果遇到 4 字節(jié)的寬字符就會插入異常了。三個字節(jié)的 UTF-8 最大能編碼的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文種平面(BMP)。也就是說,任何不在基本多文本平面的 Unicode字符,都無法使用 Mysql 的 utf8 字符集存儲。包括 Emoji 表情(Emoji是一種特殊的 Unicode 編碼,常見于 iosandroid 手機(jī)上),和很多不常用的漢字,以及任何新增的 Unicode 字符等等(utf8的缺點(diǎn))。

通常,計算機(jī)在存儲字符時,會根據(jù)不同類型的字符以及編碼方式分配存儲空間。例如以下幾種編碼方式;

①ASCII編碼中,一個英文字母(不分大小寫)占用一個字節(jié)的空間,一個中文漢字占用兩個字節(jié)的空間。一個二進(jìn)制的數(shù)字序列,在計算機(jī)中作為一個數(shù)字單元存儲時,一般為8位二進(jìn)制數(shù),換算為十進(jìn)制。最小值0,最大值255。

②UTF-8編碼中,一個英文字符占用一個字節(jié)的存儲空間,一個中文(含繁體)占用三個字節(jié)的存儲空間。

③Unicode編碼中,一個英文占用兩個字節(jié)的存儲空間,一個中文(含繁體)占用兩個字節(jié)的存儲空間。

④UTF-16編碼中,一個英文字母字符或一個漢字字符存儲都需要占用2個字節(jié)的存儲空間(Unicode擴(kuò)展區(qū)的一些漢字存儲需要4個字節(jié))。

⑤UTF-32編碼中,世界上任何字符的存儲都需要占用4個字節(jié)的存儲空間。

既然utf8能兼容絕大部分的字符,為什么要擴(kuò)展utf8mb4?

隨著互聯(lián)網(wǎng)的發(fā)展,產(chǎn)生了許多新類型的字符,例如emoji這種類型的符號,也就是我們通常在聊天時發(fā)的小黃臉表情,這種字符的出現(xiàn)不在基本多平面的Unicode字符之中,導(dǎo)致無法在MySQL中使用utf8存儲,MySQL于是對utf8字符進(jìn)行了擴(kuò)展,增加了utf8mb4這個編碼。

所以,設(shè)計數(shù)據(jù)庫時如果想要允許用戶使用特殊符號,最好使用utf8mb4編碼來存儲,使得數(shù)據(jù)庫有更好的兼容性,但是這樣設(shè)計會導(dǎo)致耗費(fèi)更多的存儲空間。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    850

    瀏覽量

    27728
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    GD32與STM32什么區(qū)別

    電子發(fā)燒友網(wǎng)站提供《GD32與STM32什么區(qū)別.docx》資料免費(fèi)下載
    發(fā)表于 04-03 17:27 ?0次下載

    DLPvideo模式與pattern模式什么區(qū)別?

    你好,請問,在DLP相關(guān)文檔,提到video模式與 pattern模式,請問這兩種模式什么區(qū)別?
    發(fā)表于 03-03 08:32

    私有云和公有云什么區(qū)別

    私有云和公有云在多個方面存在顯著的區(qū)別,以下是具體的比較,主機(jī)推薦小編為您整理發(fā)布私有云和公有云什么區(qū)別。
    的頭像 發(fā)表于 02-20 10:38 ?656次閱讀

    AIGC和AI什么區(qū)別

    AIGC是AI在內(nèi)容生成領(lǐng)域的一個特定應(yīng)用方向,AI的技術(shù)發(fā)展為AIGC提供了基礎(chǔ)和支撐。那么,AIGC和AI什么區(qū)別呢?下面,AI部落小編帶您詳細(xì)了解。
    的頭像 發(fā)表于 02-20 10:33 ?756次閱讀

    windows服務(wù)器備份mysql腳本

    一、linux備份 使用python腳本,要求python3和mysqldump #! /usr/bin/python36# -*- coding: utf-8 -*-import
    的頭像 發(fā)表于 01-02 09:14 ?347次閱讀

    ADS1256的SYSGCAL系統(tǒng)增益校準(zhǔn)和SELFGCAL增益自動校準(zhǔn)什么區(qū)別?

    請問一個問題:ADS1256的SYSGCAL系統(tǒng)增益校準(zhǔn)和SELFGCAL 增益自動校準(zhǔn)什么區(qū)別?SELFCAL 偏移和增益自動校準(zhǔn)又有何區(qū)別?SELFOCAL偏移自動校準(zhǔn)又何
    發(fā)表于 12-13 12:22

    FCCSP與FCBGA都是倒裝有什么區(qū)別

    本文簡單介紹了倒裝芯片球柵陣列封裝與倒裝芯片級封裝的概念與區(qū)別。 FCCSP與FCBGA都是倒裝,怎么區(qū)分?什么區(qū)別
    的頭像 發(fā)表于 11-16 11:48 ?3923次閱讀
    FCCSP與FCBGA都是倒裝有<b class='flag-5'>什么區(qū)別</b>

    美國多IP服務(wù)器和美國多服務(wù)器什么區(qū)別

    美國多IP服務(wù)器和美國多服務(wù)器什么區(qū)別 美國多IP服務(wù)器和美國多服務(wù)器在概念、功能以及應(yīng)用場景上存在明顯的區(qū)別。主機(jī)推薦小編為您整理發(fā)布美國多IP服務(wù)器和美國多服務(wù)器
    的頭像 發(fā)表于 11-11 10:22 ?640次閱讀

    RTOS與Linux到底什么區(qū)別

    很多做嵌入式開發(fā)的小伙伴都存在這樣的疑惑:RTOS與Linux到底什么區(qū)別?
    的頭像 發(fā)表于 10-29 09:53 ?1194次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之VScode的安裝及使用

    插件 Document This:快速注釋 ESLint:代碼檢查工具 DeviceTree:設(shè)備商語法 GBK to UTF8 for vscode:GBK轉(zhuǎn)UTF8插件 Vscode-icons
    發(fā)表于 10-09 15:44

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之VScode的安裝及使用

    ESLint:代碼檢查工具DeviceTree:設(shè)備商語法GBK to UTF8 for vscode:GBK轉(zhuǎn)UTF8插件Vscode-icons:文件圖標(biāo)擴(kuò)展包安裝方法:安裝完成后,雙擊桌面
    發(fā)表于 09-30 09:40

    OPA227UA和OPA227UAG4和OPA227UAE4什么區(qū)別

    請問,OPA227UA 、OPA227UAG4 、OPA227UAE4這三種什么區(qū)別?
    發(fā)表于 09-26 08:24

    請問TLC274BIDR和TLC274BIDRG4什么區(qū)別?

    請問TLC274BIDR和TLC274BIDRG4這兩種什么區(qū)別?經(jīng)過查證買的芯片都是正品,但有一個G4的后標(biāo),現(xiàn)在出問題的都是這個帶G4
    發(fā)表于 08-23 07:39

    IG902如何上傳數(shù)據(jù)到MQTT云平臺EMQX ?

    =utf8MB4; 1 rows in set(0.00sec) MySQL主題訂閱表 mqtt_sub 存儲設(shè)備的主題訂閱關(guān)系: DROPTABLEIFEXISTS`mqtt_sub
    發(fā)表于 07-25 07:09

    請問ESPTOUCH和AIRKISS什么區(qū)別

    請問ESPTOUCH和AIRKISS什么區(qū)別?謝謝!
    發(fā)表于 07-12 12:44