mysql資料庫漢字到底佔幾個位元組

時間 2021-08-14 14:40:38

1樓:娛樂小八卦啊

一個漢字佔多少長度與編碼有關:

若採用utf-8編碼,則一個漢字=3個位元組。

若採用gbk編碼,則一個漢字=2個位元組。

專案中oracle10g資料庫表欄位為varchar(n)型別,存英文很簡單,只要字母個數不大於n即可。但是對於漢字,按照同樣的方法就不行了。因為對於漢字不同的字符集,在資料庫佔用的位元組是不一樣的。

比如varchar(10)型別的欄位,utf-8的漢字,只能存3個,gbk字符集的漢字卻能存5個。所以在程式中根據表欄位varchar的大小,儲存或更新時作出必要的校驗否則後臺會報錯。

對於一個**、論壇來說,如果英文字元較多,則建議使用utf-8節省空間。不過現在很多論壇的外掛一般只支援gbk。

gb2312是gbk的子集,gbk是gb18030的子集

gbk是包括中日韓字元的大字符集合

擴充套件資料

字元最終是以二進位制形式儲存在磁碟的,這也是為什麼要有字元編碼的原因,因為計算機最終都要以二進位制形式儲存,那麼編碼規則就是用什麼樣的二進位制來代表這個字元。

例如,ascii碼錶中,01000011這個二進位制對應的十進位制是67,它代表的就是英語字母c。準確概述來說,字元編碼方式是用一個或多個位元組的二進位制形式表示字符集中的一個字元。

每種字符集都有自己特有的編碼方式,因此同一個字元,在不同字符集的編碼方式下,可能會產生不同的二進位制形式。

另外,字符集合只是指定了一個集合中有哪些字元,而字元編碼,是為這個集合中所有字元定義相關編號,而字符集(注意與字符集合的區別)是字元和集合與編碼規則的混合體,這也是有時候編碼方案代表字符集的原因。

2樓:匿名使用者

這個看你用什麼字符集,

如果是gbk,一個漢字佔2個位元組

如果是utf-8,一個漢字佔3個位元組

一般mysql,用的是utf-8,不過這個最好看一下。

3樓:匿名使用者

適用mysql 5.0以上版本:

1.一個漢字佔多少長度與編碼有關:

utf-8:一個漢字=3個位元組

gbk:一個漢字=2個位元組

2.在mysql中 varchar(n)和char(n)表示n個字元,無論漢字和英文,mysql都能存入n個字元,僅是實際位元組長度有所區別

即 mysql 並不會對超過長度的字元報錯,而是直接截斷了。並且 char(2) 和 varchar(2) 都能儲存 2個漢字,或者是兩個英文字元。

3. mysql 的 char(n) 和varchar(n) 可以直接儲存 n 個漢字. 而不是 n/3或者 n/2 個,mysql 遮蔽了具體的儲存細節,而直接以實際字元的個數來決定char儲存的個數。

mysql 資料庫varchar可以儲存多少個漢字和多少個數字?

如何改mysql資料庫資料庫密碼

文件類共創空間 修改mysql是需要有mysql裡的root許可權的,下面介紹幾種修改mysql資料庫密碼的方法 方法一使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,不過別忘了使用password函式。方法二使用mysqladmin,這是前面宣告的一個特例。mysqladm...

mysql預設密碼是多少,mysql資料庫的使用者名稱是sa 預設密碼是什麼

mysql預設密碼設定如下命令就可以獲得 cd path path usr local mysql bin mysql u root p mysql use mysql mysql update user set password password new password where user u...

資料庫是什麼意思,資料庫到底指的是什麼?幾個意思?啥意思?

資料庫 database 是 按照資料結構來組織 儲存和管理資料的倉庫 是一個長期儲存在計算機內的 有組織的 有共享的 統一管理的資料集合。 陽光上的橋 可以按照 資料倉儲 來理解,就是集中存放資料的地方,類似圖書館。資料庫到底指的是什麼?幾個意思?啥意思? 蒙玉枝孟妍 簡單的說,資料庫就是儲存資料...