mysql在5.*版本時大量使用以下編碼格式:
1)utf8_bin
2)utf8_general_ci
3)utf8_general_cs
utf8_bin将字元串中的每一個字元用二進制資料存儲,區分大小寫。
utf8_genera_ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。
utf8_general_cs區分大小寫,cs為case sensitive的縮寫,即大小寫敏感。
在新的mysql中如8.*版本中推薦使用:
utf8mb4 原因請參看以下連結:
https://blog.csdn.net/gf771115/article/details/52946061
https://blog.csdn.net/h_hongchang/article/details/80839184
總結為一句話:使用utf8存在漏洞是以推薦使用mb4
引申出存儲規則,預設使用utf8mb4_0900_ai_ci
一般使用:utf8mb4_general_ci和utf8mb4_bin,前者不區分大小寫
沒有測試但感覺還是utf8mb4+utf8mb4_bin靠譜,可以區分大小寫。
連結如下:
https://www.cnblogs.com/exmyth/p/3616672.html
https://segmentfault.com/q/1010000015560802?utm_source=tag-newest
https://segmentfault.com/a/1190000015307793
https://dev.mysql.com/doc/refman/8.0/en/collations-table.html