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

MySQL không coi ı là tôi?

Tham khảo http://mysql.rjweb.org/utf8_collations.html , Tôi thấy rằng ı=i trong 3 đối chiếu:utf8_general_ci, utf8_general_mysql500_ci, utf8_turkish_ci. Tuy nhiên, đối với đối chiếu tiếng Thổ Nhĩ Kỳ, I=ı sắp xếp trước khi tôi có dấu khác. Trong tất cả các ảnh ghép khác ı sắp xếp sau tất cả của tôi, như thể nó được coi như một bức thư riêng biệt.

Trong khi đó İ=I trong tất cả các đối chiếu ngoại trừ utf8_turkish_ci.

Cốt truyện dày lên với MySQL 8.0. utf8mb4_tr_0900_ai_ci (only) có thứ tự này:

I=Ì=Í=Î=Ï=Ĩ=Ī=Ĭ=Į=ı sort before  i=ì=í=î=ï=ĩ=ī=ĭ=į=İ

Trong khi đó ä=Ä và chúng khớp với hầu hết các chữ A có dấu khác cho hầu hết các ảnh ghép (bao gồm cả các ảnh ghép tiếng Thổ Nhĩ Kỳ).

Điểm mấu chốt:Có vẻ như utf8 [mb4] _general_ci là đối chiếu duy nhất trong 5,7 hoặc 8,0 sẽ luôn coi i không có dấu chấm (hoặc có chấm-I) bằng 'i / I thông thường và đồng thời bỏ qua âm sắc.

Lưu ý:Các ảnh ghép "chung" không kiểm tra nhiều hơn một ký tự cùng một lúc. Nghĩa là, "âm sắc không có khoảng cách" cộng với một nguyên âm sẽ không được coi là bằng với sự kết hợp.

Trong liên kết đó ... Một ký tự æ được sắp xếp giống như hai chữ cái ae cho một số đối chiếu. Điều đó được chỉ ra bởi:Aa ae=æ az . Trong khoảng một nửa số ảnh ghép khác, ký tự æ được coi như một bức thư riêng biệt; điều này được chỉ ra bởi nó nằm sau az và trước b . Hoặc thậm chí sau zz cho các ảnh ghép Scandinavia. Khái niệm chữ cái riêng biệt này đôi khi áp dụng cho các cặp chữ cái, ví dụ:cs (Tiếng Hungary) và ch (tiếng Tây Ban Nha truyền thống).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể phát hiện giá trị null từ JSON_EXTRACT

  2. MySQL - giá trị mặc định cho TIMESTAMP (3)

  3. Cách hàm OCT () hoạt động trong MySQL

  4. Cách bỏ chặn bằng máy chủ lưu trữ mysqladmin

  5. Cách hiển thị phạm vi giờ