日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_ci

瀏覽:355日期: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 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品97| 伊人久久av| 久久国产亚洲| 精品久久亚洲| 成人在线免费观看91| 欧美一区久久久| 麻豆久久久久久| 久久精品理论片| 福利一区视频| 999久久久国产精品| 午夜视频精品| 国产探花在线精品| 中文字幕一区二区精品区| 麻豆一区二区三| 欧美精品观看| 欧美激情视频一区二区三区免费| 日韩高清不卡一区| 亚洲四虎影院| 成人精品亚洲| 女人天堂亚洲aⅴ在线观看| 亚洲激情欧美| 综合欧美亚洲| 久久久一二三| 91久久久精品国产| 国产模特精品视频久久久久| 国产一区二区精品久| 中文一区在线| 日韩视频一区| 亚洲精品影视| 久久蜜桃av| 国产精品videossex久久发布| 精品日产乱码久久久久久仙踪林| 亚洲免费网址| 国产精品专区免费| 久久天堂精品| 亚洲欧美网站在线观看| 免费欧美一区| 超碰在线99| 国产情侣一区在线| 精品亚洲免a| 国产美女久久| 日产精品一区二区| 欧美中文一区二区| 中文字幕日韩欧美精品高清在线| 开心激情综合| 日本aⅴ亚洲精品中文乱码| 久久国产人妖系列| 色爱综合av| 综合欧美亚洲| 国产美女高潮在线| 国产精品99久久精品| 国产精品任我爽爆在线播放| 欧美韩日一区| 成人在线免费观看91| 国产精品18| 精品国模一区二区三区| 国内自拍视频一区二区三区| 日韩高清在线不卡| av高清不卡| 亚欧洲精品视频在线观看| 中文视频一区| 快she精品国产999| 久久只有精品| 麻豆国产精品| 欧美一区二区三区高清视频| 欧美日韩在线网站| 成人在线网站| 久久精品二区三区| 亚洲精品精选| 在线成人动漫av| 黑丝一区二区| 亚洲免费激情| 日韩成人三级| 香蕉久久一区| 国产日本精品| 欧美午夜精品一区二区三区电影| 欧美日韩一二三四| 日韩午夜免费| 亚洲欧美日韩专区| 久久这里只有| 成人在线黄色| 日韩欧美激情电影| 亚洲大全视频| 欧美激情另类| 制服诱惑一区二区| 麻豆精品蜜桃视频网站| 欧美黄色一区| 国产精品普通话对白| 亚洲欧洲午夜| 国产精品麻豆久久| 欧美日韩午夜| 天堂成人国产精品一区| 日韩成人av影视| 好吊视频一区二区三区四区| 日韩一区二区三区免费播放| 欧美精品黄色| 国产在线观看www| 国产精品观看| 日韩和的一区二在线| 91久久亚洲| 久久久久久久欧美精品| 国产精品国产一区| 999久久久亚洲| 国产精品日韩精品在线播放| 成人综合一区| 日本精品一区二区三区在线观看视频| 综合激情五月婷婷| 欧美粗暴jizz性欧美20| 日韩精品一级| 丝袜国产日韩另类美女| 三级欧美在线一区| 狠狠久久伊人| 国产精品视频一区视频二区| 亚洲深深色噜噜狠狠爱网站| 日韩美女国产精品| 美女国产一区二区三区| 日韩美女一区二区三区在线观看| 欧美在线观看视频一区| 亚洲va久久久噜噜噜久久| 日韩亚洲精品在线| 99热精品在线| 欧美日韩四区| 免费av一区二区三区四区| 久久香蕉国产| 91国内精品| 日韩中文在线电影| 荡女精品导航| 丰满少妇一区| 婷婷综合六月| 日韩av二区在线播放| 精品三级在线观看视频| 欧美91在线|欧美| 免费在线亚洲欧美| 免费人成在线不卡| 久久精品免视看国产成人| 国产日产一区| 中日韩男男gay无套| 黄色亚洲免费| 日韩影院在线观看| 国产福利电影在线播放| 国产精品黑丝在线播放| 97欧美在线视频| 久久福利影视| 国产综合激情| 精品网站aaa| 久久永久免费| 亚洲精品成人一区| 人人草在线视频| 日韩欧美另类一区二区| 久久蜜桃资源一区二区老牛| 蜜桃国内精品久久久久软件9| 精品久久在线| 四虎4545www国产精品 | 蜜桃久久av一区| 亚洲精品黄色| 国产精品自拍区| 最新亚洲一区| 亚洲天堂av影院| 久久精品电影| аⅴ资源天堂资源库在线| 91成人福利| 香蕉久久夜色精品国产| av免费不卡国产观看| 播放一区二区| 中文字幕一区日韩精品| 日韩午夜在线| 亚洲v在线看| 久久男人av| a日韩av网址| 三级在线观看一区二区| 免费视频亚洲| 中文在线中文资源| 国产激情久久| 亚洲aⅴ网站| 国产精品久久久网站| 亚洲免费专区| 香蕉精品视频在线观看| 日韩1区2区3区| 亚洲精品黄色| 精品日韩一区| 精品视频高潮| 九九综合九九| 亚洲福利专区| 日韩电影免费在线观看| 亚洲欧美日韩高清在线| 成人精品天堂一区二区三区| 久久性天堂网| 久久最新视频| 亚洲一卡久久| 欧美国产视频| 久久av影视| 麻豆久久久久久| 欧美激情综合| 五月天久久网站| 久久久久97| 精品国产精品久久一区免费式 | 好看不卡的中文字幕| 国产精品网站在线看| 911亚洲精品| 99视频精品全部免费在线视频|