La mayoría de los emojis de iOS usan puntos de código por encima del plano multilingüe básico de la tabla Unicode. Por ejemplo, 😄 (CARA SONRIENTE CON BOCA ABIERTA Y OJOS SONRIENTES) está en U+1F604.
Ahora, vea http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .
MySQL antes de la versión 5.5 solo admite UTF-8 para BMP, que incluye caracteres entre U+0000 y U+FFFF (es decir, solo un subconjunto de UTF-8 real; utf8
de MySQL no es UTF-8 real). No puede almacenar el carácter en el punto de código U+1F604 u otros "caracteres altos" similares. MySQL 5.5+ admite utf8mb4
(UTF-8 real), utf16
y utf32
, que son capaces de codificar estos caracteres. Si está usando MySQL 5.5+, use uno de estos conjuntos de caracteres de columna y asegúrese de estar usando el mismo conjunto de caracteres para la codificación de su conexión hacia/desde PHP. Si está en MySQL <5.5, tendrá que usar un BLOB
tipo de columna Ese tipo almacena bytes sin procesar sin preocuparse por los "caracteres" que contiene. La desventaja es que no podrá buscar o indexar el texto de manera eficiente.