quarta-feira, 18 de abril de 2018

FIX PARA O ERRO COM CARACTERES UTF8MB4 NO MYSQL AO IMPORTAR UMA TABELA

Este erro parece estar ocorrendo com mais frequência agora que várias empresas de hospedagem estão configurando os servidores MySQL com o collation utf8mb4. O que acontece é que a maioria dos servidores ainda não suportam ou não são configurados para aceitar este padrão, somente aceitam UTF8. E versões antigas do MySQL também não têm suporte ao utf8mb4, que só foi implementado a partir da versão 5.5 do MySQL.
A diferença entre as duas codificações é que utf8mb4 é a implementação correta de collation e deverá tornar-se padrão nos próximos anos para quem usa UTF8. A Amazon por exemplo já utiliza este collation nos servidores RDS deles.
Um exemplo do erro: The destination website’s MySQL server does not support the utf8mb4 character set
Ou este: Unknown collation: utf8mb4_unicode_ci
Ou este: Unknown collation: ‘utf8mb4_unicode_520_ci’

Caso você tenha que lidar com uma situação de importação de banco de dados e apresente o erro então siga os procedimentos abaixo para solucionar. *Iremos modificar as referências de codificações no MySQL, então guarde uma cópia de backup do database antes de começar.
– Exporte o banco de dados (dump) usando o phpMyAdmin. Selecione o banco e siga os procedimentos da tela na aba “Exportar“. Isso irá gerar um arquivo .SQL que deverá ser baixado para o seu computador.
– Edite o arquivo usando um editor que suporte codificação sem BOM como é o Notepad++, assim não haverá erros ao importá-lo.
– Localize o texto utf8mb4_unicode_520_ci e substitua todas as ocorrências dele por utf8_general_ci
– Em seguida localize o texto utf8mb4 e substitua todas as ocorrências dele por utf8
– Salve o arquivo e importe ele para o banco de dados usando o phpMyAdmin. Para isso dar certo é necessário deletar todas as tabelas do banco que lá estão, selecione e elimine todas elas. Em seguida você já poderá clicar na aba “Importar“, selecionar o arquivo .SQL e executar a importação.

Após finalizado o processo navegue pelo site e verifique se existe algum problema com acentuação de caracteres.
Fonte: https://fatorbinario.com/comunidade/topico/fix-para-o-erro-com-caracteres-utf8mb4-no-mysql-ao-importar-uma-tabela/