Sự khác biệt của MySQL Collation utf8_unicode


10

Nhưng tôi đã đọc về tầm quan trọng của Collation MySQL và những gì tôi đã học được cho đến nay về tính tương thích và độ chính xác là 4 điều này dường như là sự đánh cược tốt nhất của tôi.

  • utf8_unicode_ci
  • utf8_unicode_520_ci
  • utf8mb4_unicode_ci
  • utf8mb4_unicode_520_ci

Theo hiểu biết của tôi, uft8mb4 sẽ tốt cho nhân vật có hỗ trợ ngôn ngữ mutli (nhân vật) (ví dụ tiếng Nhật). uf8 chỉ hỗ trợ 3 byte trong khi uf8mb4 hỗ trợ 4 byte. Vì vậy, có vẻ như sự lựa chọn rõ ràng sẽ là uf8mb4, nhưng điều thú vị là dường như bạn có giới hạn về chiều dài (Chết tiệt! Tôi muốn bánh của tôi và ăn nó nữa), đó là một mối quan tâm nhỏ (tôi nghĩ).

Sau đó, bạn tính đến tiêu chuẩn 520; cung cấp nhiều hơn, từ những gì tôi có thể tìm thấy trên đó. Nhưng đó là tất nhiên vấn đề, tôi có thể tìm thấy rất ít về nó. Chỉ có điều mọi người nói rằng đó là một sự cải tiến, nhưng vẫn rất mơ hồ về điều đó.

Tôi thực sự muốn nhiều nhất tôi có thể nhận được với càng ít hạn chế càng tốt ... Tôi hình dung ai đó ở đây có thể biết một hoặc hai điều. Trang web chính thức của MySQL không có nhiều thông tin như tôi hy vọng.

Trong số 4 cái nào sẽ cung cấp khả năng tương thích, độ chính xác và độ dài lưu trữ nhiều nhất? Ngoài ra, sự khác biệt lớn giữa tiêu chuẩn 502 là gì?

Câu trả lời:


10

Tên đối chiếu Unicode có thể bao gồm số phiên bản để chỉ ra phiên bản Thuật toán đối chiếu Unicode (UCA) mà dựa trên đối chiếu. Các bộ sưu tập dựa trên UCA không có số phiên bản trong tên sử dụng các version-4.0.0phím cân UCA . Một tên đối chiếu như utf8_unicode_520_ciđược dựa trên các phím cân UCA 5.2.0 .

Xem https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html .


Để giải thích thêm về điều này: đối chiếu sẽ không sửa đổi mã hóa được sử dụng (cái mà MySQL gọi sai character sethoặc charset), do đó utf8sẽ cung cấp cho bạn UTF-8 3 byte (không chuẩn) và utf8mb4sẽ cung cấp cho bạn UTF-8 4 byte.
jynus

1
Vì vậy, trong tiếng Anh đơn giản, sự khác biệt giữa UCA 4.0.0 và UCA 5.2.0 khác với cái mới hơn. Lợi thế hay bất lợi sẽ là gì?
Adam

4
Nó ảnh hưởng đến việc sắp xếp. Nếu bạn thực sự cần sắp xếp theo phiên bản mới hơn (nhưng vẫn còn lỗi thời) của tiêu chuẩn Unicode, thì bạn có thể muốn sử dụng 520_ci. Đối với các trang web của tôi, tôi không thể quan tâm ít hơn.
Mathias Bynens

kích thước byte của ký tự kích thước byte lớn nhất trong utf8mb4_unicode_520_ciđối chiếu là gì?
oldboy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.