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

MySQL zgłasza błąd nieprawidłowej wartości ciągu

To znak na końcu tweeta powoduje problem.

Wygląda jak „emotikon”, czyli japońska buźka, ale nie wyświetla się dla mnie ani w Chrome, ani w Safari.

W niektórych wersjach MySQL występują znane problemy z przechowywaniem 4-bajtowych znaków UTF. Najwyraźniej musisz użyć utf8mb4 do reprezentowania 4-bajtowych znaków UTF, ponieważ normalny zestaw znaków utf8 może reprezentować tylko znaki o długości do 3 bajtów, a więc nie może przechowywać znaków, które są poza Podstawowa płaszczyzna wielojęzyczna

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

Co jest dla mnie nowością, ponieważ zasadniczo oznacza, że ​​typ danych utf8 w MySQL nie jest tak naprawdę poprawnym utf8.

Tutaj są sugestie, jak sobie z tym poradzićJak wstawić znak mb4 utf-8 (emotikony w ios5) w mysql? w tym:

„Upewnij się również, że warstwa aplikacji ustawia zestaw znaków połączeń z bazą danych na utf8mb4. Sprawdź dokładnie, czy tak się dzieje – jeśli korzystasz ze starszej wersji biblioteki klienta mysql wybranego frameworka, mogła ona nie zostać skompilowana z obsługą utf8mb4 i nie ustawi poprawnie zestawu znaków. Jeśli nie, być może będziesz musiał go zaktualizować lub skompilować samodzielnie."

Jeśli używasz Connector/J, musisz ustawić character_set_server=utf8mb4 w konfiguracji połączenia.

Wszystkie twoje zestawy znaków powinny być utf8mb4, które być może próbowałeś, ale nie są obecnie ustawione.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać najstarszą datę z MySQL

  2. Błąd składni SQL podczas tworzenia procedury składowanej w MySQL

  3. Jak korzystać z Hibernacji eqOrIsNull()

  4. DAYOFWEEK() Przykłady – MySQL

  5. Skonfiguruj bazę danych i utwórz użytkownika tylko do odczytu w AWS Redshift i Mysql