| 1558 Visualizações

Convertendo UTF8MB4 para UTF8 WordPress

Wordpress utf8

Você está recebendo o erro “Unknown collation: ‘utf8mb4_unicode_ci’” na hora de fazer o import do seu script SQL em um DB mysql antigo do WordPress ? Então neste tutorial veremos como solucionar o problema, ou seja como converter de UTF8MB4 para UTF8 .

Porque ocorre o erro de UTF8?

Com a atualização a partir da versão do WordPress 4.2, foi inserido um novo padrão de codificação o Unicode utf8mb4 que nada mais é que uma evolução do anterior utf8 com suporte a mais caracteres e emojis. Esta nova versão esta presente a partir do MySQL 5.5.3 e o WordPress fará uso dela quando detectar que seja possível.

Isto é feito de forma automática, porém caso precise migrar seu site para um outro servidor, pode acabar descobrindo que neste outro servidor a versão do MySQL não possua suporte ao novo padrão e com isso você terá problemas para importar os dados do seu banco de dados.

Mas como Resolver?

Tendo acesso ao banco de dados através do PHPMyAdmin ou outra interface, você deve rodar a query abaixo para cada tabela a ser convertida, alterando o nome wp_tabela para a tabela desejada, normalmente somente as que correspondem ao core do WordPress, tabelas de plugins provavelmente não precisarão passar por esta conversão.

Após feito a conversão não se esqueça de informar no arquivo de configuração o valor utf8 para a constante DB_CHARSET no seu arquivo wp-config.php do WordPress.

Então rode este script SQL

Facilitando a conversão

Para facilitar esta conversão abaixo segue um script para ser inserido dentro do seu arquivo function.php que fica localizado no diretório do seu tema, esse script é executado a partir desse tema. Após atualizar a página do seu site, basta remover o script inserido, e não esqueça de atualizar o DB_CHARSET do seu arquivo wp-config.php. Importante, somente as tabelas do WordPress serão convertidas, qualquer plugin que possua alguma tabela própria, esta será mantida intacta.

Fonte: Blog Edir Pedro

Caso você tenha alguma dúvida ou queira deixar algum feedback, utilize o formulário de comentários abaixo.

Formado em Gestão em Análise e Desenvolvimento de Sistemas, Bacharel em Sistemas de Informação pela Universidade Federal de Goiás (UFG) e desenvolvedor Fullstack. Amante da tecnologia que busca facilitar a vida das pessoas. O objetivo aqui é compartilhar conhecimentos das áreas de tecnologia em geral.