Como armazenar o Carácter Emoji na Base de Dados MySQL
Estou a utilizar o carácter Emoji no meu projecto. Que os caracteres são guardados (??) na base de dados mysql. Tinha utilizado a recolha por defeito da base de dados em utf8mb4_general_ci
.
Mostra
1366 Valor incorreto do fio: '\xF0\x9F98\x83\xF0\x9F...' para a coluna ' comentário' na fila 1
142
3
Base de dados: Alterar a recolha por defeito da base de dados como
utf8mb4
.Tabela: Mudar a colação da tabela como
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
.Consulta:
utf8mb4
em ligação a base de dados:Se estiver a utilizar Solr + Mysql + Java, pode utilizar:
Isto pode ser usado:
No caso acima, esta é uma das soluções para armazenar os seus emoticons no seu sistema.
Passos para a sua utilização:
Biblioteca utilizada: importar java.net.URLDecoder; importar java.net.URLEncoder;
Exemplo de código:
A minha resposta só acrescenta a Selvamani P answer.
Poderá também precisar de alterar qualquer pergunta "SET NAMES utf8" com "SET NAMES utf8mb4". Isso fez o truque por mim.
Além disso, este é um grande artigo para portar o seu website de utf8 para utf8mb4. Em particular, o artigo faz 2 bons pontos em índices e tabelas de reparação após a sua conversão para utf8mb4:
**INDEXES***
**TABELAS DE REPARAÇÃO***
Leia mais sobre as consultas para reparar as tabelas do artigo.