Hầu hết các biểu tượng cảm xúc iOS sử dụng các điểm mã phía trên Mặt phẳng Đa ngôn ngữ Cơ bản của bảng Unicode. Ví dụ:😄 (MẶT NẠ CÓ MIỆNG MỞ VÀ MẮT MỎNG) ở U + 1F604.
Bây giờ, hãy xem http://dev.mysql.com/ doc / refman / 5.5 / en / charset-unicode.html .
MySQL trước phiên bản 5.5 chỉ hỗ trợ UTF-8 cho BMP, bao gồm các ký tự từ U + 0000 đến U + FFFF (tức là chỉ một tập hợp con của UTF-8 thực tế; utf8
của MySQL không phải là UTF-8 thực). Nó không thể lưu ký tự tại điểm mã U + 1F604 hoặc các "ký tự cao" tương tự khác. MySQL 5.5+ hỗ trợ utf8mb4
(UTF-8 thực tế), utf16
và utf32
, có thể mã hóa các ký tự này. Nếu bạn đang sử dụng MySQL 5.5+, hãy sử dụng một trong các bộ ký tự cột này và đảm bảo rằng bạn đang sử dụng cùng một bộ ký tự cho mã hóa kết nối đến / từ PHP. Nếu bạn đang sử dụng MySQL <5.5, bạn sẽ phải sử dụng BLOB
loại cột. Kiểu đó lưu trữ các byte thô mà không cần quan tâm đến các "ký tự" trong đó. Nhược điểm là bạn sẽ không thể tìm kiếm hoặc lập chỉ mục văn bản một cách hiệu quả.