utf16 hoặc utf32? Tôi đang cố gắng lưu trữ nội dung bằng nhiều ngôn ngữ. Một số ngôn ngữ sử dụng phông chữ đôi (ví dụ: phông chữ tiếng Nhật thường gấp hai lần phông chữ tiếng Anh). Tôi không chắc tôi nên sử dụng loại cơ sở dữ liệu nào. Bất kỳ thông tin nào về sự khác biệt giữa bốn bộ ký tự này ...Utf8_general_ci hoặc utf8mb4 hoặc ...?
28
A
Trả lời
40
MySQL utf32
và utf8mb4
(cũng như UTF-8 chuẩn) có thể lưu trữ trực tiếp bất kỳ ký tự nào được chỉ định bởi Unicode; trước đây là kích thước cố định ở 4 byte cho mỗi ký tự trong khi ký tự thứ hai là từ 1 đến 4 byte cho mỗi ký tự.
utf8mb3
và bản gốc utf8
chỉ có thể lưu trữ 65.536 điểm đầu tiên, bao gồm CJVK (Trung Quốc, Nhật Bản, Việt Nam, Hàn Quốc) và sử dụng 1-3 byte cho mỗi ký tự.
utf16
sử dụng 2 byte cho 65.536 điểm mã đầu tiên và 4 byte cho mọi thứ khác.
Đối với phông chữ, đó là một điều trực quan.
Xem thêm MySQL documentation for Unicode support.
Các vấn đề liên quan
- 1. MySQL Collation: latin1_swedish_ci Vs utf8_general_ci
- 2. Thao tác dữ liệu utf8mb4 từ MySQL với PHP
- 3. Hibernate hoặc JPA hoặc JDBC hoặc?
- 4. Chuyển đổi utf8_general_ci bảng và trường thành utf8_unicode_ci
- 5. MVC4 ViewBag hoặc ViewModel hoặc?
- 6. COLLATION 'utf8_general_ci' không hợp lệ đối với CHARACTER SET 'binary'?
- 7. Mùa xuân hoặc CDI hoặc EJB3
- 8. Bảo mật UDP - OpenSSL hoặc GnuTls hoặc ...?
- 9. Clone hoặc Copy UIViewController hoặc UIView
- 10. Redis "nil" hoặc "empty list hoặc set"
- 11. So sánh UIColors hoặc CGColor hoặc CGColorSpace
- 12. "Marshall" hoặc "Marshal"? "Marshalling" hoặc "Marshaling"?
- 13. StringBuilder hoặc + =
- 14. Lucene.NET "HOẶC"
- 15. Thư viện chức năng Javascript nào: Gạch dưới hoặc wu.js hoặc Chức năng hoặc ...?
- 16. Cuộc gọi AJAX .NET đến ASMX hoặc ASPX hoặc ASHX?
- 17. fruityloops scripting hoặc propellerheads lý do từ VB hoặc Python?
- 18. Parsec hoặc happy (with alex) hoặc uu-parsinglib
- 19. WebDriverWait hoặc ImplicitlyWait hoặc ExplictlyWait không có gì hoạt động
- 20. Ghi đè lên bản sao hoặc copyWithZone: hoặc cả hai?
- 21. if (foo hoặc thanh hoặc baz) là None:
- 22. Lưu trữ ngôn ngữ trong URL hoặc phiên hoặc khác
- 23. PHP: Nếu một bằng b hoặc c hoặc d
- 24. Singleton trên JVM hoặc Application instance hoặc Tomcat instance
- 25. PHP: Biến trống hoặc không được đặt hoặc cái gì?
- 26. Đường ray: định dạng.js hoặc format.json hoặc cả hai?
- 27. Cần tây hoặc cây đậu hoặc cả hai?
- 28. hộp kiểm nhập đúng hoặc được chọn hoặc có
- 29. .NET hoặc PHP, công ty hoặc nguồn mở?
- 30. backbone hoặc ext/sencha touch hoặc cả hai
Chỉ cần rõ ràng hơn, nhận xét về 'utf8_general' cũng áp dụng cho tất cả các đối sánh' utf8_ * 'khác; tất cả sẽ sử dụng bộ ký tự 'utf8mb3' hay' utf8' của MySQL. –
@JohnFlatness Cảm ơn. Bình luận của bạn chỉ là những gì tôi sẽ hỏi về tiếp theo. Tôi nghĩ rằng UTF-16 sử dụng 2 byte cho các ký tự tiếng Hoa, ví dụ, mặc dù? Tôi đang xem tài liệu bạn đã cung cấp cho tôi, hy vọng rằng nó bao gồm 65.536 ý nghĩa. XD –
Ký tự Trung Quốc nằm trong Mặt phẳng đa ngôn ngữ cơ bản (65.536 điểm mã đầu tiên). –