La maggior parte degli emoji iOS utilizza punti di codice sopra il piano multilingue di base della tabella Unicode. Ad esempio, 😄 (FACCIA SORRIDENTE CON BOCCA APERTA E OCCHI SORRIDENTI) è a U+1F604.
Ora, vedi http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .
MySQL prima della versione 5.5 supporta solo UTF-8 per BMP, che include caratteri compresi tra U+0000 e U+FFFF (cioè solo un sottoinsieme dell'attuale UTF-8; utf8
di MySQL non è un vero UTF-8). Non può memorizzare il carattere nel punto di codice U+1F604 o altri "caratteri alti" simili. MySQL 5.5+ supporta utf8mb4
(attuale UTF-8), utf16
e utf32
, che sono in grado di codificare questi caratteri. Se stai usando MySQL 5.5+, usa uno di questi set di caratteri di colonna e assicurati di utilizzare lo stesso set di caratteri per la codifica della tua connessione da/verso PHP. Se utilizzi MySQL <5.5, dovrai utilizzare un BLOB
tipo di colonna. Quel tipo memorizza i byte grezzi senza preoccuparsi dei "caratteri" in esso contenuti. Lo svantaggio è che non sarai in grado di cercare o indicizzare il testo in modo efficiente.