Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bộ ký tự tốt nhất cho trường email là gì?

Địa chỉ e-mail là một đoạn văn bản. Do đó, không sử dụng nhị phân , sử dụng văn bản.

Utf8 có vẻ là một lựa chọn tốt. Tôi không chắc những ký tự nào được hỗ trợ cho địa chỉ email, nhưng người ta có thể mong đợi rằng sẽ ngày càng có nhiều ký tự unicode được phép sử dụng hơn trong tương lai. Đặc biệt nếu bạn sử dụng utf8 ở nơi khác trong cơ sở dữ liệu của mình, bạn không phải chuyển từ bảng mã này sang bảng mã khác, chỉ cần sử dụng utf8 cho mọi thứ.

Đối với việc chọn giữa utf8_bin , utf8_unicode_ci utf8_general_ci , sự khác biệt chỉ là đối chiếu. Điều này có nghĩa là nó tạo ra sự khác biệt khi so sánh các chuỗi.

Bây giờ ở đây bạn phải lựa chọn giữa những gì được phép và những gì là bình thường. Thông thường, địa chỉ email không phân biệt chữ hoa chữ thường, nhưng chúng có thể phân biệt chữ hoa chữ thường.

Vì vậy, nếu bạn sử dụng một chỉ mục duy nhất trên cột e-mail của mình và muốn cho phép các địa chỉ email chỉ khác nhau về cách viết hoa của chúng, bạn nên sử dụng utf8_bin , vì các cụm từ kết thúc bằng _ci có nghĩa là "không phân biệt chữ hoa chữ thường".

Nếu bạn sử dụng một chỉ mục duy nhất và muốn tránh các email chỉ khác nhau về cách viết hoa của chúng, thì hãy sử dụng utf8_unicode_ci .

Điều đó đang được nói, tôi sử dụng utf8_unicode_ci . Tôi muốn db có thể nhận ra [email protected] [email protected] như cùng một địa chỉ. Nó hữu ích hơn nhiều so với việc cho phép các địa chỉ có cùng ký tự và cách viết hoa khác nhau.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL phân tách hàng được phân tách bằng dấu phẩy

  2. Cách xác định hiệu quả các thay đổi giữa các hàng bằng SQL

  3. Kích hoạt MySQL Trên các sự kiện Chèn / Cập nhật

  4. Làm cách nào để sử dụng LOAD_FILE để tải tệp vào MySQL blob?

  5. MySQL Chọn Dòng Giá trị Cụ thể Mới nhất