sql >> Base de Datos >  >> RDS >> Mysql

Los emoticonos de iPhone se insertan en MySQL pero se convierten en valores en blanco

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.