Sự khác biệt giữa Utf8 và Utf8mb4

Sự khác biệt giữa Utf8 và Utf8mb4

fanvip club cổng game quốc tế,tải game 789win,luật chơi sicbo

Từ phiên bản MySQL 8 trở đi, bộ mã hóa mặc định đã được thay đổi thành utf8mb4

Ngày cập nhật: 15/11/2024 | Số lần đọc: 814 | Số từ: 299 | Phân loại: MySQL

Tìm kiếm

Hôm qua khi đang lật giở một cuốn sách về MySQL, tôi tình cờ phát hiện rằng từ phiên bản MySQL 8.0 trở lên, bộ mã hóa (character set) mặc định cho cơ sở dữ liệu đã chính thức chuyển sang utf8mb4. Trong nhiều năm qua, tôi vẫn luôn có thói quen tự tay thiết lập lại bộ mã và collation là utf8mb4 mỗi lần tạo mới một cơ sở dữ liệu. Tuy nhiên, kể từ nay dường như chúng ta không cần thực hiện bước này nữa vì nó đã được cấu hình sẵn.

Bộ mã hóa và collation mặc định của máy chủ MySQL hiện tại là utf8mb4utf8mb4_0900_ai_ci, tuy nhiên bạn vẫn có thể tùy chỉnh các bộ mã khác ở cấp độ máy chủ, cơ sở dữ liệu, bảng, cột hoặc ngay cả chuỗi ký tự trực tiếp.

Việc thiết lập thủ công utf8mb4 trước đây thường nhằm mục đích hỗ trợ các biểu tượng cảm xúc (emoji), 😄 — điều mà nhiều ứng dụng hiện đại đang sử dụng phổ biến. Vì vậy, việc đặt làm mặc định là hoàn toàn hợp lý và tiến bộ.

Tôi thấy mình cần dành thời gian để xem xét kỹ hơn tài liệu chính thống của MySQL, nếu không sẽ dễ bị lạc hậu trong kiến thức.

Tham khảo thêm tài liệu chính thức từ trang web của MySQL 8.0:

  • Utf8 chỉ hỗ trợ các ký tự dài từ 1 đến 3 byte.
  • Utf8mb4 thì có khả năng xử lý các ký tự dài tới 4 byte, và đặc biệt, các biểu tượng emoji được lưu trữ dưới dạng 4 byte. Do đó, muốn hỗ trợ đầy đủ emoji thì bắt buộc phải dùng Utf8mb4.

Ngoài ra, tài liệu MySQL 8 còn cảnh báo rằng, UTF8 (tương đương với utf8mb3) sẽ sớm bị loại bỏ khỏi hệ thống, và người dùng nên sử dụng tên chuẩn là utfmb3 hoặc tốt hơn là utfmb4.

UTF8 là một từ khóa lỗi thời (deprecated) tương ứng với utf8mb3, và có thể sẽ bị xóa bỏ hoàn toàn trong một phiên bản MySQL trong tương lai. Bạn nên sử dụng utfmb3 hoặc, tốt nhất là utfmb4 thay thế.

comments powered by Disqus
Built with Hugo
Theme Stack thiết kế bởi Jimmy