一個漢字在數據庫中佔幾個字節

數據庫表字段爲varchar(n)類型,存英文很簡單,只要字母個數不大於n即可。但是對於漢字,按照同樣的方法就不行了。因爲對於漢字不同的字符集,在數據庫佔用的字節是不一樣的。UTF-8字符集,一個漢字佔三個字節,gbk字符集,一個漢字佔兩個字節,比如varchar(10)類型的字段,UTF-8的漢字,只能存3個,gbk字符集的漢字卻能存5個。所以在程序中根據表字段varchar的大小,保存或更新時作出必要的校驗否則後臺會報錯。
MySQL 5.0以上的版本:
1.一個漢字佔多少長度與編碼有關:    UTF-8:一個漢字=3個字節 GBK:一個漢字=2個字節
2.varchar(n)表示n個字符,無論漢字和英文,Mysql都能存入n個字符,僅是實際字節長度有所區別
3.MySQL檢查長度,可用SQL語言:select length(字段名) from tablename 來查看


varchar類型的均按照字符數截斷

æå¥20个utf8æ±å­å­ç¬¦

 

æå¥20个è±æå­ç¬¦

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章