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

Emotikony iPhone'a wstawiają się do MySQL, ale stają się pustą wartością

Większość emotikonów iOS używa punktów kodowych powyżej podstawowej płaszczyzny wielojęzycznej tabeli Unicode. Na przykład 😄 (UŚMIECHNIĘTA TWARZ Z OTWARTYMI USTAMI I UŚMIECHNIĘTYMI OCZAMI) to U+1F604.

Teraz zobacz http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .

MySQL przed wersją 5.5 obsługuje tylko UTF-8 dla BMP, który zawiera znaki od U+0000 do U+FFFF (tj. tylko podzbiór rzeczywistego UTF-8; utf8 MySQL nie jest prawdziwym UTF-8). Nie może przechowywać znaku w punkcie kodowym U+1F604 lub innych podobnych „wysokich znaków”. MySQL 5.5+ obsługuje utf8mb4 (rzeczywisty UTF-8), utf16 i utf32 , które są w stanie zakodować te znaki. Jeśli używasz MySQL 5.5+, użyj jednego z tych zestawów znaków kolumn i upewnij się, że używasz tego samego zestawu znaków do kodowania połączenia do/z PHP. Jeśli korzystasz z MySQL <5.5, będziesz musiał użyć BLOB typ kolumny. Ten typ przechowuje surowe bajty bez zwracania uwagi na zawarte w nich „znaki”. Minusem jest to, że nie będziesz w stanie efektywnie przeszukiwać ani indeksować tekstu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Procedura składowana MySQL a funkcja, której powinienem użyć, kiedy?

  2. Czy JavaScript może łączyć się z MySQL?

  3. MySQL - policz całkowitą liczbę wierszy w php

  4. Wykonywanie wielu zapytań SQL w jednej instrukcji z PHP

  5. Błąd PHP z MySQL 8.0+:serwer zażądał metody uwierzytelniania nieznanej klientowi