資料庫字符集的選擇

2021-10-05 23:29:16 字數 906 閱讀 6721

在選擇資料庫字符集時,可以根據應用的需求,結合字符集的特點來權衡,主要考慮以下幾方面的因素。

1)滿足應用支援語言的需求。如果應用要處理各種各樣的文字,或者將發布到使用不同語言的國家或地區,就應該選擇 unicode 字符集。對 mysql 來說,目前就是 utf-8。

2)如果應用中涉及已有資料的匯入,就要充分考慮資料庫字符集對已有資料的相容性。假如已有資料的字符集是 gbk,如果選擇 gb 2312-80 為資料庫字符集,就很可能出現某些文字無法正確匯入。

3)如果資料庫只需要支援一般中文,資料量很大,效能要求也很高,那就應該選擇雙位元組定長編碼的中文字符集,比如 gbk。

因為,相對於 utf-8 而言,gbk 比較「小」,每個漢字只佔 2 個位元組,而 utf-8 漢字編碼需要 3 個位元組,這樣可以減少磁碟 i/o、資料庫 cache 以及網路傳輸的時間,從而提高效能。相反,如果應用主要處理英文本元,僅有少量漢字資料,那麼選擇 utf-8 更好,因為 gbk、ucs-2、utf-16 的西文字元編碼都是 2 個位元組,會造成很多不必要的開銷。

4)如果資料庫需要做大量的字元運算,如比較、排序等,那麼選擇定長字符集可能更好,因為定長字符集的處理速度要比變長字符集的處理速度快。

5)如果所有客戶端程式都支援相同的字符集,則應該優先選擇該字符集作為資料庫字符集。這樣可以避免因字符集轉換帶來的效能開銷和資料損失。

6)在多種字符集都能夠滿足應用的前提下,應盡量使用小的字符集。因為更小的字符集意味著能夠節省空間、減少網路傳輸位元組數,同時由於儲存空間的較小間接的提高了系統的效能。

拓展有很多字符集都可以儲存漢字,比如 utf-8、gb2312、gbk、latin1 等等。但是常用的是 gb2312 和 gbk。因為 gb2312 字型檔比 gbk 字型檔小,有些偏僻字(例如:洺)不能儲存,因此在選擇字符集的時候一定要權衡這些偏僻字出現的機率,一般情況下,最好選用 gbk。

資料庫 varchar text 字符集選擇

utf 8 編碼最大字元長度為 3 位元組,如果遇到 4 位元組的字元就會出現錯誤了。三個位元組的 utf 8 最大能編碼的 unicode 字元是 0xffff,也就是 unicode 中的基本多文平面 bmp 也就是說,任何不在基本多文平面的 unicode 字元,都無法使用mysql原有的 u...

資料庫字符集

1 檢視資料庫字符集 資料庫伺服器字符集select from nls database parameters,其 於props 是表示資料庫的字符集。客戶端字符集環境select from nls instance parameters,其 於v parameter,表示客戶端的字符集的設定,可能...

Mysql建立資料庫字符集的選擇

字符集選擇 在國內正常都是用 utf 8 排序選擇 排序一般分為兩種 utf bin和utf general ci bin 是二進位制,a 和 a 會別區別對待.utf8 general ci 不區分大小寫 這個你在註冊使用者名稱和郵箱的時候就要使用。utf8 general cs 區分大小寫 如果...