本篇文章給大家主要講的是關(guān)于設(shè)置MySQL字符集的具體方法的內(nèi)容,感興趣的話就一起來看看這篇文章吧,相信看完設(shè)置MySQL字符集的具體方法對大家多少有點(diǎn)參考價值吧。
臨清ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!字符集介紹
gbk/gb2312
gbk/gb2312
采用雙字節(jié)字符集,不論中、英文字符均使用雙字符來表示,為了區(qū)分中文,將其最高位都設(shè)定成1
gb2312是gbk的子集,gbk是gb18030的子集,gb2312僅能存儲簡體中文字符
gbk包括中日韓字符的大字符集
通常使用gbk字符集足夠
國際通用性比utf8差,不過utf8占用的數(shù)據(jù)庫比gbk大(utf8是三字節(jié)字符集)
utf8/utf8mb4
UTF全稱(Unicode Transformation Format),是Unicode的一種存儲方式,可變長度字符編碼,又稱萬國碼;
數(shù)據(jù)庫字符集盡量使用utf8(包括 connect、result、及最終html頁面都必須要求一致為utf8);
UTF8使用可變長度字節(jié)來存儲 Unicode字符,例如 ASCII字母繼續(xù)使用1個字節(jié)存儲,重音文字、希臘字母、或西里爾字母等使用2個字節(jié)來存儲,而常用的漢字就要用3個字節(jié);也就是一個英文字符等于一個字節(jié),一個中文(含繁體)等于三個字節(jié)。
utf8mb4一個字符最多能存4字節(jié),所以能支持更多的字符集;項(xiàng)目中常用utf8mb4存放emoji表情;
latin1是8bit (1 bytes)字符集,但不能覆蓋亞洲、非洲語言;
unidoce是latin1的擴(kuò)展,增加了亞洲、非洲常規(guī)語言支持,但仍不支持全部語言,且ASCII用unidoce來表示效率不高(小字符集轉(zhuǎn)換成大字符集,往往便隨的就是字符的丟失);
utf8是unicode的擴(kuò)展;
gbk、gb2312等字符集與utf8之間都必須通過Unicode編碼才能相互轉(zhuǎn)換。
字符集使用建議
1、非??隙ㄖ挥兄形慕K端用戶時,可選擇gbk / gb2312
2、為了方便數(shù)據(jù)遷移、以及多種終端展示,最好是utf8
3、字符無需區(qū)分大小寫時,采用默認(rèn)的xx_ci校驗(yàn)集可以,否則選擇xx_bin校驗(yàn)集(生產(chǎn)環(huán)境中,盡量不要修改校驗(yàn)集)
4、默認(rèn)字符集是latin1,該字符集存放漢字是分開存放,以至于檢索結(jié)果時不夠精確,好處就是節(jié)省空間,不推薦使用
MySQL字符集范圍
云服務(wù)器層(server) > 數(shù)據(jù)庫成(database) > 數(shù)據(jù)表(table) > 字段(column) > 連接(connection) | 結(jié)果集(result)
MySQL字符集優(yōu)先級
連接(connection) | 結(jié)果集(result) > 字段(column) > 數(shù)據(jù)表(table) > 數(shù)據(jù)庫成(database) > 云服務(wù)器層(server)
char類型
char(N):N代表的是字符個數(shù)(也叫字符長度)、而非bytes
char(N):是固定長存儲,占用定長的存儲空間,不足的部分用空格填充;MySQL處理char(N)類型時,需要將空格strip掉后return。
存儲空間:char(N)類型的存儲空間和字符集有關(guān)系,結(jié)合剛才字符集的知識點(diǎn),一個中文在utf8字符集中占用3個bytes、gbk占用2個bytes、數(shù)字和字符統(tǒng)一用一個字符表示。
存儲機(jī)制:在不夠N長度時,MySQL在存儲數(shù)據(jù)時,需要用填充特殊的空格,而非十六進(jìn)制的20
思考:
char(30),在不同的字符集中最多能存放多少個字母、漢字,以及占用空間情況
gbk: 可以存放30個字節(jié) 占用的空間30*2utf8:可以存放30個字節(jié) 占用的空間30*3
varcahr類型
varchar(N):N代表的是字符個數(shù)(也叫字符長度)、而非bytes
varchar(N):是變長存儲,僅使用必要的存儲空間.
存儲空間:varchar(N)類型的存儲空間和字符集有關(guān)系,結(jié)合剛才字符集的知識點(diǎn),一個中文在utf8字符集中占用3個bytes、gbk統(tǒng)一占用2個bytes、數(shù)字和字符一個字符表示。
存儲機(jī)制:varchar(N)字段存儲實(shí)際是從第二個字節(jié)開始存儲,然后用1到2個字節(jié)表示實(shí)際長度,剩下的才是可以存儲數(shù)據(jù)的范圍,因此大可用存儲范圍是65535-3=65532字節(jié);第一個字節(jié)標(biāo)識是否為空.(長度小于255字節(jié),使用一個字節(jié)來表示長度;大于255字節(jié)使用兩個字節(jié)來表示長度)
修改數(shù)據(jù)庫實(shí)例字符集
臨時生效
mysql> set character_set = 'gbk'; mysql> set character_set_client = 'gbk';
全局生效
mysql> set global character_set_client = 'gbk'; Query OK, 0 rows affected (0.00 sec)
永久生效
vim /etc/my.cnf character-set-server=utf8
以上關(guān)于設(shè)置MySQL字符集的具體方法詳細(xì)內(nèi)容,對大家有幫助嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞名稱:設(shè)置MySQL字符集的具體方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://aaarwkj.com/article32/cchcsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、微信小程序、ChatGPT、移動網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容