在 MySQL 中,gb18030
字元集對應於中國國家標準 GB 18030-2005:資訊技術—中文編碼字元集,這是中華人民共和國 (PRC) 的官方字元集。
MySQL gb18030 字元集的特性
支援 GB 18030-2005 標準定義的所有碼位。範圍 (GB+8431A439, GB+90308130) 和 (GB+E3329A36, GB+EF39EF39) 中的未指定碼位會被視為 '
?
' (0x3F)。轉換未指定的碼位會傳回 '?
'。支援所有 GB18030 碼位的 UPPER 和 LOWER 轉換。也支援 Unicode 定義的大小寫摺疊 (根據
CaseFolding-6.3.0.txt
)。支援與其他字元集之間來回轉換資料。
支援 SQL 陳述式,例如
SET NAMES
。支援
gb18030
字串之間,以及gb18030
字串與其他字元集字串之間的比較。如果字串具有不同的字元集,則會進行轉換。也支援包含或忽略尾隨空格的比較。Unicode 中的私用區域 (U+E000, U+F8FF) 會對應到
gb18030
。(U+D800, U+DFFF) 和 GB18030 之間沒有對應。嘗試轉換此範圍中的碼位會傳回 '
?
'。如果輸入的序列無效,則會傳回錯誤或警告。如果
CONVERT()
中使用無效的序列,則會傳回錯誤。否則,會傳回警告。為了與
utf8mb3
和utf8mb4
一致,連字不支援 UPPER。使用
gb18030_unicode_520_ci
校對時,搜尋連字也會符合大寫連字。如果某個字元有多個大寫字元,則選擇的大寫字元是小寫形式為該字元本身的字元。
最小多位元組長度為 1,最大為 4。字元集會使用前 1 或 2 個位元組判斷序列的長度。
支援的校對
gb18030_bin
:二進位校對。gb18030_chinese_ci
:預設校對,支援拼音。非中文字元的排序依據原始排序鍵的順序。如果存在UPPER(ch)
,則原始排序鍵為GB(UPPER(ch))
。否則,原始排序鍵為GB(ch)
。中文字元根據 Unicode Common Locale Data Repository (CLDR 24) 中定義的拼音校對進行排序。非中文字元會在中文前面排序,但GB+FE39FE39
除外,它是碼位上限。gb18030_unicode_520_ci
:Unicode 校對。如果您需要確保連字排序正確,請使用此校對。