Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepszy schemat kodowania emoji

utf8 MySQL zestaw znaków w rzeczywistości nie jest UTF-8 , jest to podzbiór UTF-8 obsługujący tylko podstawową płaszczyznę (znaki do U+FFFF). Większość emoji używa punktów kodowych wyższych niż U + FFFF. utf8mb4 MySQL to rzeczywisty kod UTF-8 który może zakodować wszystkie te punkty kodowe. Poza MySQL nie ma czegoś takiego jak „utf8mb4”, jest tylko UTF-8. A więc:

Znowu nie ma czegoś takiego jak „utf8mb4”. Żądania HTTP POST obsługują dowolne nieprzetworzone bajty, jeśli Twój klient wysyła dane zakodowane w UTF-8, wszystko jest w porządku.

Tak.

Boże nie, użyj surowego UTF-8 (utf8mb4 ) za wszystko, co jest święte.

Cóż, jest twój problem; przekazywanie danych przez utf8 MySQL charset odrzuci wszystkie znaki powyżej U+FFFF. Użyj utf8mb4 przez całą drogę przez MySQL.

Musisz dokładnie określić, co to oznacza. Funkcje JSON PHP powinny być w stanie obsłużyć każdy punkt kodowy Unicode, o ile jest poprawny 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. Współbieżność MySQL, jak to działa i czy muszę to obsługiwać w mojej aplikacji?

  2. dodanie 30 minut do datetime php/mysql

  3. Nie można zwrócić wyników z procedury składowanej za pomocą kursora Pythona

  4. Grupuj według zakresu dat w odstępach tygodni/miesięcy

  5. mysql - ERROR 1064 (42000) podczas używania słów kluczowych jako nazwy kolumny