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

Lược đồ mã hóa biểu tượng cảm xúc cuối cùng

utf8 của MySQL bộ ký tự không thực sự là UTF-8 , đó là một tập hợp con của UTF-8 chỉ hỗ trợ mặt phẳng cơ bản (các ký tự lên đến U + FFFF). Hầu hết các biểu tượng cảm xúc sử dụng điểm mã cao hơn U + FFFF. utf8mb4 của MySQL là UTF-8 thực tế có thể mã hóa tất cả các điểm mã đó. Bên ngoài MySQL không có cái gọi là "utf8mb4", chỉ có UTF-8. Vì vậy:

Một lần nữa, không có cái gọi là "utf8mb4". Yêu cầu HTTP POST hỗ trợ bất kỳ byte thô nào, nếu khách hàng của bạn gửi dữ liệu được mã hóa UTF-8 thì bạn vẫn ổn.

Có.

Chúa ơi, sử dụng UTF-8 thô (utf8mb4 ) cho tất cả những gì là thánh.

Vâng, có vấn đề của bạn; truyền dữ liệu của bạn thông qua utf8 của MySQL bộ ký tự sẽ loại bỏ bất kỳ ký tự nào trên U + FFFF. Sử dụng utf8mb4 thông qua MySQL.

Bạn sẽ phải xác định chính xác điều đó có nghĩa là gì. Các hàm JSON của PHP sẽ có thể xử lý tốt mọi điểm mã Unicode, miễn là nó hợp lệ UTF-8:

echo json_encode('😀');
"\ud83d\ude00"

echo json_decode('"\ud83d\ude00"');
😀


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhóm các bảng trong cơ sở dữ liệu MySQL

  2. PHP Mysql tham gia trên các cơ sở dữ liệu

  3. Ràng buộc duy nhất kiểm tra hai cột trong MySQL

  4. Làm thế nào để có được một danh sách các cơ sở dữ liệu?

  5. Làm cách nào để chọn dữ liệu trong đó một trường có giá trị nhỏ nhất trong MySQL?