成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_ci

瀏覽:301日期:2023-10-15 08:27:11

參考:mysql字符集小結

utf8mb4 已成為 MySQL 8.0 的默認字符集,在MySQL 8.0.1及更高版本中將 utf8mb4_0900_ai_ci 作為默認排序規則。

新項目只考慮 utf8mb4

UTF-8 編碼是一種變長的編碼機制,可以用1~4個字節存儲字符。

因為歷史遺留問題,MySQL 中的 utf8 編碼并不是真正的 UTF-8,而是閹割版的,最長只有3個字節。當遇到占4個字節的 UTF-8 編碼,例如 emoji 字符或者復雜的漢字,會導致存儲異常。

從 5.5.3 開始,MySQL 開始用 utf8mb4 編碼來實現完整的 UTF-8,其中 mb4 表示 most bytes 4,最多占用4個字節。從 8.0 之后,將會在某個版本開始用 utf8mb4 作為默認字符編碼。

設置服務器默認字符集為 utf8mb4

創建數據庫時,如果沒有指定字符集,會采用服務器的默認字符集。設置服務器默認字符集為 utf8mb4 可以提高便利性。

編輯 MySQL 的配置文件

只需要關心5個系統變量,這5個都改為 utf8mb4 則修改成功:character_set_clientcharacter_set_connectioncharacter_set_resultscharacter_set_servercharacter_set_database

my.cnf 是MySQL 的配置文件,修改之前記得先備份:

vi /etc/my.cnf

在[mysqld]下面加上default-character-set=utf8后服務器啟動不了,莫名其妙。后來這么改就好了(MySQL5.7):

[mysqld]init_connect=’SET collation_connection = utf8mb4_unicode_ci’ init_connect=’SET NAMES utf8mb4’ character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake...[client]default-character-set=utf8mb4

MySQL8.0 默認已經是 utf8mb4,不用改懂。如果你要改的話,配置文件如下:

[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidcharacter-set-server = utf8mb4[client]default-character-set=utf8mb4

重啟并確認

可以看到,系統編碼、連接編碼、服務器和客戶端編碼都設置為 UTF-8了:

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

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

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

排序字符集 collation

字符除了需要存儲,還需要排序或比較大小。推薦用 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代替。

總結

到此這篇關于MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_ci的文章就介紹到這了,更多相關mysql 編碼 utf8 與 utf8mb4內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲免费观看高清完整版在线| 精品一区二区三区视频| 亚洲成人黄色影院| 精品福利电影| 在线播放中文字幕一区| 日韩1区2区日韩1区2区| 久色成人在线| 日本aⅴ亚洲精品中文乱码| 久久久水蜜桃| 婷婷丁香久久五月婷婷| 久久久蜜桃一区二区人| 日韩精品一级中文字幕精品视频免费观看| 亚洲一区二区三区午夜| 亚洲午夜免费福利视频| 欧美亚洲色图校园春色| 亚洲不卡在线观看| 久久精品官网| 美女网站一区二区| 欧美日韩视频一区二区| 久久福利资源站| 欧美吞精做爰啪啪高潮| 精品写真视频在线观看| 7777精品伊人久久久大香线蕉的| 国产一区二区三区视频在线播放| 91精品国产综合久久久久| 高清成人免费视频| 精品蜜桃在线看| 午夜精品国产| 日韩理论电影院| 五月激情综合色| 欧美三级电影网站| 大胆欧美人体老妇| 欧美激情综合网| 亚洲精品四区| 亚洲高清免费在线| 欧美亚洲禁片免费| 国产成人午夜精品5599| 久久久www免费人成精品| 伊人婷婷久久| 亚洲午夜免费电影| 欧美午夜精品一区| 国产成人亚洲综合a∨婷婷图片 | 国产成人综合自拍| 久久综合色综合88| 亚洲国产导航| 日韩成人免费看| 欧美日韩国产片| 99久久伊人网影院| 亚洲人123区| 欧美在线三级电影| 粉嫩嫩av羞羞动漫久久久| 国产精品久久久久影视| 鲁大师成人一区二区三区| 狠狠色丁香九九婷婷综合五月| 久久综合久久综合亚洲| 亚洲精品日本| 精久久久久久久久久久| 2023国产精品视频| 国产亚洲毛片在线| 国产精品影音先锋| 国产精品久久久久永久免费观看 | 欧美日韩国产高清一区| 9久草视频在线视频精品| 亚洲精品国产视频| 欧美日韩精品一区二区三区蜜桃| 欧美伊人影院| 亚洲 欧美综合在线网络| 91麻豆精品国产91| 亚洲国产精品视频一区| 久久精品国产精品青草| 国产网站一区二区三区| 色呦呦一区二区三区| 成人免费精品视频| **欧美大码日韩| 欧美日韩在线观看一区二区| 亚洲图片欧美色图| 欧美一区二区国产| 日韩午夜视频在线观看| 国产一区二区三区av电影| 国产精品美女视频| 欧美日韩mp4| 国产精品自产自拍| 亚洲视频一区二区免费在线观看| 欧美日韩精品一区二区| 伊人成年综合电影网| 国产资源精品在线观看| 亚洲三级理论片| 制服丝袜亚洲精品中文字幕| 亚洲免费精品| 成人听书哪个软件好| 亚洲mv在线观看| 国产欧美日韩视频在线观看| 欧美性做爰猛烈叫床潮| 永久域名在线精品| 国产凹凸在线观看一区二区| 亚洲精品视频在线观看免费 | 欧美不卡一区二区三区| 羞羞答答国产精品www一本| 成人免费电影视频| 色综合激情五月| 欧美日韩精品免费看| 美女视频免费一区| 亚洲欧洲精品一区二区三区不卡| 欧美人xxxx| 亚洲成人激情综合网| 亚洲国产电影在线观看| 3atv在线一区二区三区| 久久婷婷久久| 影音国产精品| 国产精品亚洲成人| 性感美女久久精品| 国产精品久久久久精k8| 欧美一区二区三区四区久久| 香蕉久久夜色| 欧美日韩综合另类| 国产成人av电影在线| 日日夜夜精品视频天天综合网| 国产精品拍天天在线| 日韩精品一区二区三区视频在线观看 | 亚洲超丰满肉感bbw| 久久久www成人免费无遮挡大片| 欧美撒尿777hd撒尿| 国产九区一区在线| 欧美少妇一区| 国产成人综合在线观看| 天堂在线亚洲视频| 亚洲欧美日韩成人高清在线一区| 久久在线免费观看| 欧美精品日韩精品| 久久久噜噜噜| 99xxxx成人网| 欧美日韩国产高清| 成人午夜在线视频| 国内精品在线播放| 日本美女一区二区| 亚洲国产综合人成综合网站| 成人欧美一区二区三区白人| 久久久久成人黄色影片| 日韩精品一区二区三区蜜臀| 欧美日韩精品专区| 在线看国产日韩| 亚洲欧美日韩国产| 日韩一级不卡| 国内精品嫩模av私拍在线观看| 91亚洲永久精品| 成人福利视频网站| 国产精品自拍av| 国精产品一区一区三区mba视频| 日韩精品视频网站| 亚洲777理论| 亚洲国产精品一区二区久久| 一区二区三区四区不卡视频| 亚洲特黄一级片| 亚洲欧洲一区二区在线播放| 国产欧美一区二区精品性色 | 婷婷综合在线观看| 亚洲一区二区欧美| 一区二区三区四区亚洲| 亚洲欧美激情小说另类| 中文字幕一区日韩精品欧美| 欧美国产一区二区在线观看| 国产婷婷色一区二区三区| 久久免费午夜影院| 久久久www成人免费无遮挡大片| 久久综合九色综合97婷婷女人| 欧美大片免费久久精品三p| 91精品国产免费| 8x福利精品第一导航| 在线综合+亚洲+欧美中文字幕| 欧美日韩视频专区在线播放| 欧美日韩黄色影视| 欧美日韩免费在线视频| 欧美日韩亚州综合| 911精品国产一区二区在线| 日韩一区二区影院| 精品伦理精品一区| 欧美精品一区二区三区在线播放 | 欧美一区二区三区公司| 日韩一区二区中文字幕| 日韩美一区二区三区| 精品国产伦一区二区三区观看体验| 91麻豆精品国产91久久久久久久久| 欧美一级理论片| 精品久久久久久久久久久久久久久久久| 精品国产乱码久久久久久牛牛| 亚洲精品一区二区三区影院| 国产日韩欧美精品电影三级在线| 国产欧美视频一区二区三区| 国产精品私房写真福利视频| 亚洲男人的天堂网| 五月婷婷激情综合| 激情另类小说区图片区视频区| 欧美色视频一区| 91精品国产综合久久久久久漫画| 日韩一级片网站| 国产欧美精品一区二区三区四区 | 日一区二区三区| 韩国中文字幕2020精品| 成人av电影在线观看| 欧美激情一区|