mysql - válida - utf8mb4_unicode_520_ci to utf8_general_ci




# 1273-Colação desconhecida: 'utf8mb4_unicode_520_ci' (7)

Eu tenho um site WordPress no meu servidor WAMP local. Mas quando eu carregar seu banco de dados para o servidor ao vivo, recebo erro

#1273  Unknown collation: utf8mb4_unicode_520_ci

Qualquer ajuda seria apreciada!


Abra o arquivo sql no seu editor de texto;

1. Pesquisa: utf8mb4_unicode_ci Substituir: utf8_general_ci (substituir tudo)

2. Pesquisa: utf8mb4_unicode_520_ci Substituir: utf8_general_ci (substituir tudo)

3. Pesquisa: utf8mb4 Substituir: utf8 (Substituir Tudo)

Salve e faça upload!



No meu caso, acontece que
novo servidor estava executando o MySQL 5.5 ,
servidor antigo estava executando o MySQL 5.6 .
Então, eu recebi este erro ao tentar importar o arquivo .sql que eu havia exportado do meu antigo servidor.

O MySQL 5.5 não suporta utf8mb4_unicode_520_ci , mas
MySQL 5.6 faz.

Atualizando para o MySQL 5.6 no novo servidor resolvido collation o erro!

Se você quiser manter o MySQL 5.5, você pode:
- faça uma cópia do seu arquivo .sql exportado
- substitua instâncias de utf8mb4unicode520_ci e utf8mb4_unicode_520_ci
... com utf8mb4_unicode_ci
- importe seu arquivo .sql atualizado.


Obtendo o erro de agrupamento # 1273 - Colocação desconhecida: 'utf8mb4_unicode_520_ci' é causado pela diferença da versão do MySQL da qual você exporta e do nosso servidor MySQL para o qual você importa. Basicamente, a biblioteca do Wordpress para versões mais recentes verifica para qual versão do SQL seu site está sendo executado. Se ele usa o MySQL versão 5.6 ou mais, ele assume o uso de um novo e aprimorado Algoritmo Unicode Collation Algorithm (UCA) chamado “utf8mb4_unicode_520_ci”. Isso é ótimo, a menos que você acabe movendo o seu site WordPress de uma versão mais recente do MySQL para uma 5.6 versão anterior do MySQL.

Para resolver isso, você terá que editar seu arquivo de exportação do SQL e fazer uma pesquisa e substituição, alterando todas as instâncias de 'utf8mb4_unicode_520_ci' para 'utf8mb4_unicode_ci'. Ou siga os passos abaixo, se você tiver um PHPMyAdmin:

  1. Clique na guia Exportar para o banco de dados
  2. Clique no botão de opção Personalizado.
  3. Vá para a seção intitulada Opções específicas de formato e altere o menu suspenso para Sistema de banco de dados ou servidor MySQL antigo para maximizar a compatibilidade de saída com: de NONE para MYSQL40.
  4. Vá até o final e clique em Ir.

Você pode resolver isso encontrando

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

no seu arquivo .sql e trocando-o com

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

basta remover "520_"
utf8mb4_unicode_520_ciutf8mb4_unicode_ci


fácil substituir

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql




collation