為什么MySQL utf-8 中文是占3個位元組,但是我設定varchar3,可以存3個漢字呢?
uj5u.com熱心網友回復:
MySql 5.0 以上的版本:1、一個漢字占多少長度與編碼有關:
UTF-8:一個漢字 = 3個位元組,英文是一個位元組
GBK: 一個漢字 = 2個位元組,英文是一個位元組
2、varchar(n) 表示n個字符,無論漢字和英文,MySql都能存入 n 個字符,僅實際位元組長度有所區別。
uj5u.com熱心網友回復:
varchar N代表的字符數 不是位元組數uj5u.com熱心網友回復:
那么varchar N代表的字符數 不是位元組數 ,那么我是不是就不用考慮位元組的概念了呢?uj5u.com熱心網友回復:
varchar 3代表字符數,不是位元組數uj5u.com熱心網友回復:
sql server中varchar(n)代表的才是位元組數是的,這個欄位最多存多少個字符就用varchar多少就行了。sql server的varchar才需要考慮位元組。sql server的varchar(2)只能存一個漢字,因為一個漢字占兩個位元組。而varchar(2)只能存兩個位元組。mysql就不用考慮這個問題了
uj5u.com熱心網友回復:
關于是否需要計算資料庫使用的空間數量的問題,在資料量比較大時候還是要比較靠譜的估計的。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/101061.html
標籤:MySQL
