Det är karaktären i slutet av tweeten som orsakar problemet.
Det ser ut som en "emoji"-karaktär alias japansk smiley men den visas inte för mig i varken Chrome eller Safari.
Det finns kända problem med att lagra 4byte utf-tecken i vissa versioner av MySQL. Tydligen måste du använda utf8mb4 för att representera 4 byte UTF-tecken, eftersom den normala utf8-teckenuppsättningen bara kan representera tecken upp till 3 byte långa och därför inte kan lagra tecken som ligger utanför Basic Multilingual Plane
http://dev.mysql.com/doc /refman/5.5/en/charset-unicode-utf8mb4.html
Vilket är en nyhet för mig eftersom det i princip betyder att utf8-datatypen i MySQL inte riktigt är korrekt utf8.
Det finns förslag på hur man hanterar detta härHur infogar man utf-8 mb4-tecken (emoji i ios5) i mysql? inklusive:
"Se även till att ditt applager ställer in sina databasanslutningars teckenuppsättning till utf8mb4. Dubbelkolla att detta faktiskt händer – om du kör en äldre version av ditt valda ramverks mysql-klientbibliotek kanske det inte har kompilerats med stöd för utf8mb4 och den kommer inte att ställa in teckenuppsättningen korrekt. Om inte, kan du behöva uppdatera den eller kompilera den själv"
Om du använder Connector/J måste du ställa in character_set_server=utf8mb4 i anslutningskonfigurationen.
Alla dina teckenuppsättningar ska vara utf8mb4, som du kanske har provat men inte är inställda för närvarande.