系統儲存之 乙個漢字在資料庫佔幾個位元組

2022-04-04 13:27:21 字數 883 閱讀 6552

參考文獻:

gbk是國家標準gb2312基礎上擴容後相容gb2312的標準。gbk的文字編碼是用雙位元組來表示的,即不論中、英文本元均使用雙位元組來表示,為了區分中文,將其最高位都設定成1。gbk包含全部中文字元,是國家編碼,通用性比utf8差,不過utf8占用的資料庫比gbd大。

gbk、gb2312等與utf8之間都必須通過unicode編碼才能相互轉換:

gbk、gb2312--unicode--utf8

utf8--unicode--gbk、gb2312

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

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

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

如果是中文的** 推薦gb2312 gbk有時還是有點問題

為了避免所有亂碼問題,應該採用utf-8,將來要支援國際化也非常方便

utf-8可以看作是大字符集,它包含了大部分文字的編碼。

使用utf-8的乙個好處是其他地區的使用者(如香港台灣)無需安裝簡體中文支援就能正常**你的文字而不會出現亂碼。

gb2312是簡體中文的碼

gbk支援簡體中文及正體中文

big5支援正體中文

utf-8支援幾乎所有字元

mysql 5.0以上的版本:

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

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

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

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

3.mysql檢查長度,可用sql語言:

select length(fieldname) from tablename 來檢視

乙個漢字在資料庫佔幾個位元組

專案中oracle10g資料庫表字段為varchar n 型別,存英文很簡單,只要字母個數不大於n即可。但是對於漢字,按照同樣的方法就不行了。因為對於漢字不同的字符集,在資料庫占用的位元組是不一樣的。utf 8字符集,乙個漢字佔三個位元組,gbk字符集,乙個漢字佔兩個位元組,比如varchar 10...

乙個漢字在資料庫中佔幾個位元組

資料庫表字段為varchar n 型別,存英文很簡單,只要字母個數不大於n即可。但是對於漢字,按照同樣的方法就不行了。因為對於漢字不同的字符集,在資料庫占用的位元組是不一樣的。utf 8字符集,乙個漢字佔三個位元組,gbk字符集,乙個漢字佔兩個位元組,比如varchar 10 型別的字段,utf 8...

在資料庫實現乙個搜尋功能

insus.net在應用開發時,用過很多不同的方法來為asp.net實現搜尋功能。寫sql語句在程式裡,或寫成類別能讓多個程式能共用,也有直接把條件表示式傳至資料庫中進行處理的。insus search utility ver2 如何在web 實現搜尋功能 實現乙個搜尋功能思路 搜尋與動態顯示字段 ...