在生產環境中,數據庫字符集因為各種原因需要升級,比如為了支持漢字,從latin1字符集升級到GBK,後面為了支持多個語言文字,需要將GBK升級到UTF8等。遷移過程網上有很多,我今天主要想講下字符集轉換後,可能對業務產生的影響,我以GBK轉換到UTF8為例說明。主要有兩點:
這篇文章主要為了說明編碼轉換後,字段排序如何受影響,會結合mysql源代碼給出原因和分析。首先看測試用例,假設cmp_t(GBK編碼)和cmp_t2(UTF8編碼)分別是遷移前後的表。
測試用例:
操作
cmp_t(GBK)
cmp_t2(UTF8)
1
GBK表:
select c1,hex(c1) from cmp_t;
UTF8表:
select c1,hex(c1) from cmp_t2;