Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Os emoticons do iPhone são inseridos no MySQL, mas se tornam um valor em branco


A maioria dos emojis do iOS usa pontos de código acima do Plano Multilíngue Básico da tabela Unicode. Por exemplo, 😄 (ROSTO SORRISO COM BOCA ABERTA E OLHOS SORRISOS) está em U+1F604.



Agora, veja http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .

O MySQL antes da versão 5.5 suporta apenas UTF-8 para o BMP, que inclui caracteres entre U+0000 e U+FFFF (ou seja, apenas um subconjunto do UTF-8 real; utf8 do MySQL não é UTF-8 real). Ele não pode armazenar o caractere no ponto de código U+1F604 ou outros "caracteres altos" semelhantes. MySQL 5.5+ suporta utf8mb4 (UTF-8 real), utf16 e utf32 , que são capazes de codificar esses caracteres. Se você estiver usando o MySQL 5.5+, use um desses conjuntos de caracteres de coluna e verifique se está usando o mesmo conjunto de caracteres para sua codificação de conexão de/para PHP. Se você estiver no MySQL <5.5, terá que usar um BLOB tipo de coluna. Esse tipo armazena bytes brutos sem se importar com os "caracteres" nele. A desvantagem é que você não poderá pesquisar ou indexar o texto com eficiência.