一個漢字在數據庫占幾個字節


項目中oracle10g數據庫表字段為varchar(n)類型,存英文很簡單,只要字母個數不大於n即可。但是對於漢字,按照同樣的方法就不行了。因為對於漢字不同的字符集,在數據庫占用的字節是不一樣的。UTF-8字符集,一個漢字占三個字節,gbk字符集,一個漢字占兩個字節,比如varchar(10)類型的字段,UTF-8的漢字,只能存3個,gbk字符集的漢字卻能存5個。
所以在程序中根據表字段varchar的大小,保存或更新時作出必要的校驗否則后台會報錯。
辦法:1、用表格 maxlength屬性,比如maxlength="5",即只能存5個漢字。

 

MySQL 5.0以上的版本:

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

UTF-8:一個漢字=3個字節

GBK:一個漢字=2個字節

 

2.varchar(n)表示n個字符,無論漢字和英文,Mysql都能存入n個字符,僅是實際字節長度有所區別

 

3.MySQL檢查長度,可用SQL語言:

select LENGTH(fieldname) from tablename 來查看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM