最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
設置MySQL字符集的具體方法

本篇文章給大家主要講的是關于設置MySQL字符集的具體方法的內容,感興趣的話就一起來看看這篇文章吧,相信看完設置MySQL字符集的具體方法對大家多少有點參考價值吧。                                                           

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網站建設、網站重做改版、烈山網站定制設計、自適應品牌網站建設、H5建站、商城開發(fā)、集團公司官網建設、成都外貿網站建設公司、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為烈山等各大城市提供網站開發(fā)制作服務。

字符集介紹

  • gbk/gb2312

    gbk/gb2312
    采用雙字節(jié)字符集,不論中、英文字符均使用雙字符來表示,為了區(qū)分中文,將其最高位都設定成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é),所以能支持更多的字符集;項目中常用utf8mb4存放emoji表情;
    latin1是8bit (1 bytes)字符集,但不能覆蓋亞洲、非洲語言;
    unidoce是latin1的擴展,增加了亞洲、非洲常規(guī)語言支持,但仍不支持全部語言,且ASCII用unidoce來表示效率不高(小字符集轉換成大字符集,往往便隨的就是字符的丟失);
    utf8是unicode的擴展;
    gbk、gb2312等字符集與utf8之間都必須通過Unicode編碼才能相互轉換。

字符集使用建議

1、非??隙ㄖ挥兄形慕K端用戶時,可選擇gbk / gb2312

2、為了方便數(shù)據(jù)遷移、以及多種終端展示,最好是utf8

3、字符無需區(qū)分大小寫時,采用默認的xx_ci校驗集可以,否則選擇xx_bin校驗集(生產環(huán)境中,盡量不要修改校驗集)

4、默認字符集是latin1,該字符集存放漢字是分開存放,以至于檢索結果時不夠精確,好處就是節(jié)省空間,不推薦使用

MySQL字符集范圍

云服務器層(server) > 數(shù)據(jù)庫成(database) > 數(shù)據(jù)表(table) > 字段(column) > 連接(connection) | 結果集(result)

MySQL字符集優(yōu)先級

連接(connection) | 結果集(result) > 字段(column) > 數(shù)據(jù)表(table) > 數(shù)據(jù)庫成(database) > 云服務器層(server)

char類型

char(N):N代表的是字符個數(shù)(也叫字符長度)、而非bytes
char(N):是固定長存儲,占用定長的存儲空間,不足的部分用空格填充;MySQL處理char(N)類型時,需要將空格strip掉后return。

存儲空間:char(N)類型的存儲空間和字符集有關系,結合剛才字符集的知識點,一個中文在utf8字符集中占用3個bytes、gbk占用2個bytes、數(shù)字和字符統(tǒng)一用一個字符表示。

存儲機制:在不夠N長度時,MySQL在存儲數(shù)據(jù)時,需要用填充特殊的空格,而非十六進制的20

思考:
char(30),在不同的字符集中最多能存放多少個字母、漢字,以及占用空間情況
gbk: 可以存放30個字節(jié) 占用的空間30*2utf8:可以存放30個字節(jié) 占用的空間30*3

varcahr類型

varchar(N):N代表的是字符個數(shù)(也叫字符長度)、而非bytes
varchar(N):是變長存儲,僅使用必要的存儲空間.

存儲空間:varchar(N)類型的存儲空間和字符集有關系,結合剛才字符集的知識點,一個中文在utf8字符集中占用3個bytes、gbk統(tǒng)一占用2個bytes、數(shù)字和字符一個字符表示。

存儲機制:varchar(N)字段存儲實際是從第二個字節(jié)開始存儲,然后用1到2個字節(jié)表示實際長度,剩下的才是可以存儲數(shù)據(jù)的范圍,因此最大可用存儲范圍是65535-3=65532字節(jié);第一個字節(jié)標識是否為空.(長度小于255字節(jié),使用一個字節(jié)來表示長度;大于255字節(jié)使用兩個字節(jié)來表示長度)

修改數(shù)據(jù)庫實例字符集

臨時生效

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

以上關于設置MySQL字符集的具體方法詳細內容,對大家有幫助嗎?如果想要了解更多相關,可以繼續(xù)關注我們的行業(yè)資訊板塊。

 


網站欄目:設置MySQL字符集的具體方法
文章起源:http://fisionsoft.com.cn/article/jepepj.html