色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MySQL中utf8和utf8mb4有什么區別

汽車玩家 ? 來源:IT生涯 ? 作者:IT生涯 ? 2020-04-12 19:21 ? 次閱讀

一、簡介

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

二、內容描述

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

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

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

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

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

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

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

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

隨著互聯網的發展,產生了許多新類型的字符,例如emoji這種類型的符號,也就是我們通常在聊天時發的小黃臉表情,這種字符的出現不在基本多平面的Unicode字符之中,導致無法在MySQL中使用utf8存儲,MySQL于是對utf8字符進行了擴展,增加了utf8mb4這個編碼。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MySQL
    +關注

    關注

    1

    文章

    829

    瀏覽量

    26734
收藏 人收藏

    評論

    相關推薦

    windows服務器備份mysql腳本

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

    RTOS與Linux到底什么區別

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

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-開發環境搭建之VScode的安裝及使用

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

    飛凌嵌入式ElfBoard ELF 1板卡-開發環境搭建之VScode的安裝及使用

    ESLint:代碼檢查工具DeviceTree:設備商語法GBK to UTF8 for vscode:GBK轉UTF8插件Vscode-icons:文件圖標擴展包安裝方法:安裝完成后,雙擊桌面
    發表于 09-30 09:40

    IG902如何上傳數據到MQTT云平臺EMQX ?

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

    RV 和ARM什么區別

    district RV 和ARM什么區別
    發表于 06-26 12:41

    IDF怎么配置使用8MB PSRAM的esp psram64?怎么改實際使用大小的是4MB

    IDF怎么配置使用8MB PSRAM的esp psram64,怎么改實際使用大小的是4MB 是可用地址空間最大就是4MB
    發表于 06-13 08:14

    請問MB90F549GPFV-GSE1和MB90F549GPF-GE1什么區別

    MB90F549GPFV-GSE1 和 MB90F549GPF-GE1 什么區別? 第一個零件編號多了兩個字母\" V\"和\"S\" ,這兩個字母
    發表于 05-17 16:32

    STM8S003XX與STM8S105XX寄存器的配置上有什么區別呢?

    各位前輩,STM8S003XX與STM8S105XX寄存器的配置上有什么區別呢?
    發表于 05-10 07:08

    stm8s005與stm8s105 32管腳什么區別

    stm8s005與stm8s10532管腳的什么區別
    發表于 04-29 08:37

    EWSTM8-2201 or 3101安裝說明上有的說選“是”,有的說選“否”,二者到底什么區別?對工程什么影響?

    the installation. ......... 安裝說明上有的說選“是”,有的說選“否”,二者到底什么區別?對工程什么影響?
    發表于 04-28 08:08

    stm8l151k4外部晶振和內部晶振的區別是什么?外部晶振準確點嗎?

    stm8l151k4XXX這款單片機的外部晶振和內部晶振什么區別?外部晶振準確點嗎? 必要使用外部晶振嗎?
    發表于 04-28 06:15

    采用UTF8UTF16都無法使用中文SSID怎么解決?

    采用 UTF8UTF16都無法使用中文SSID 將wifi ssid設置為 \" test12 \",分別用了以下 3種 unicode編解碼格格式,測試情況分分如下: 1.格式一:UTF-16LE 2.G格式二:
    發表于 02-29 06:36

    線路板的層和階什么區別

    線路板的層和階什么區別
    的頭像 發表于 02-23 17:27 ?855次閱讀

    SPI和QSPI什么區別

    SPI和QSPI什么區別
    發表于 02-06 06:12
    主站蜘蛛池模板: 99久久国产极品蜜臀AV酒店 | JIZZ19学生第一次 | 色婷婷国产精品视频一区二区三区 | 污污内射在线观看一区二区少妇 | 国产午夜免费不卡精品理论片 | 国产精品欧美久久久久天天影视 | 久久青草费线频观看国产 | 久久久久国产 | 日本68xxxxxxxxx老师| 我的好妈妈BD免费观看 | 曰产无码久久久久久精品 | 国产探花在线精品一区二区 | 影音先锋男人资源813. | 艳照门在线观看 | 啪啪后入内射日韩 | 影音先锋男人av橹橹色 | 色即是空之甜性涩爱 | 粉嫩小护士| 国产一区二区三区国产精品 | avtt天堂网Av无码 | 丰满饥渴老太性hd | 暖暖视频在线高清播放 | 青草影院内射中出高潮-百度 | 蜜桃精品成人影片 | 国产无遮挡色视频免费观看性色 | 久草在线在线精品观看 | 午夜精品国产自在现线拍 | 一一本之道高清视频在线观看中文字幕 | 扒开美女下面粉嫩粉嫩冒白浆 | 亚洲午夜AV久久久精品影院色戒 | 韩国污动漫无遮掩无删减电脑版 | 久久在精品线影院 | 男人大臿蕉香蕉大视频 | 啦啦啦WWW在线观看免费高清版 | 国内精品视频久久久久免费 | 99热热在线精品久久 | 国产亚洲精品久久久久久入口 | 黄色jjzz | 古代荡乳尤物H妓女调教 | 蜜臀AV99无码精品国产专区 | 亚洲日韩欧美国产中文在线 |