Mysql
 sql >> Database >  >> RDS >> Mysql

Le emoticon di iPhone si inseriscono in MySQL ma diventano un valore vuoto

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.