MySQL編碼致使varchar類型不區分大小寫

mysql字段varchar區分大小寫utf8_bin、utf8_general_ci編碼區別
mysql字段varchar區分大小寫utf8_bin、utf8_general_ci編碼區別

在mysql中存在着各種utf8編碼格式:
utf8_bin將字符串中的每一個字符用二進制數據存儲,區分大小寫。
utf8_genera_ci不區分大小寫,ci爲case insensitive的縮寫,即大小寫不敏感。
utf8_general_cs區分大小寫,cs爲case sensitive的縮寫,即大小寫敏感。

用utf8_genera_ci沒有區分大小寫,導致這個字段的內容區分大小寫時出問題,比如作爲區分大小寫的code或者驗證碼時就出問題了。
utf8_general_cs這個選項一般沒有,所以只能用utf8_bin區分大小寫

mysql對於類型爲varchar數據默認不區分大小寫,字段以“utf8_bin”編碼使其區分大小寫。

code varchar(20) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ‘唯一碼’

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章