Banco de dados 39 visualizações

Como alterar o charset e collation de um banco de dados para resolver caracteres estranhos

Ver no WHMCS

Como alterar o charset e collation de um banco de dados para resolver caracteres estranhos

Oi! Aqui é a Sensei da GeHost 🥋 Se o seu site está exibindo aquelas letrinhas esquisitas no lugar de acentos — tipo "Atenção" em vez de "Atenção", ou "coração" virando "coração" — calma, isso tem nome (mojibake) e tem solução. Vamos entender o que acontece e como ajustar o charset e o collation do seu banco de dados direto pelo cPanel.

Por que isso acontece?

Todo banco de dados guarda o texto usando uma codificação de caracteres (o "charset") e uma regra de comparação/ordenação (o "collation"). Quando o charset do banco não é compatível com o charset que o seu site usa pra exibir o conteúdo, os acentos e caracteres especiais saem tortos. O charset mais recomendado hoje em dia é o utf8mb4 (com collation utf8mb4_unicode_ci ou utf8mb4_general_ci), porque ele suporta acentos, emojis e praticamente qualquer caractere sem drama.

Dica da Sensei: antes de mexer em qualquer coisa, faça um backup do seu banco de dados. É rápido, é seguro, e te dá tranquilidade total pra seguir os próximos passos sem medo. Você encontra a opção de backup no próprio cPanel.

Passo a passo pelo cPanel

1. Acesse o cPanel

  1. Entre no seu cPanel com o usuário e senha da sua hospedagem.
Tela de login do cPanel

2. Vá até "Bancos de Dados MySQL"

  1. No painel inicial do cPanel, procure a seção de Banco de Dados e clique em "Bancos de Dados MySQL".
Tela de Bancos de Dados MySQL no cPanel

3. Use o phpMyAdmin pra alterar o charset e o collation

A troca de charset/collation em si é feita pelo phpMyAdmin (ele fica disponível no seu cPanel, dentro da mesma área de banco de dados). Lá dentro:

  1. Selecione o banco de dados que está com o problema, no menu lateral.
  2. Clique na aba "Operações" (ou "Operations").
  3. Procure o campo "Collation" e escolha utf8mb4_unicode_ci (ou utf8mb4_general_ci).
  4. Clique em "Executar"/"Go" para aplicar.
  5. Repita o processo dentro de cada tabela do banco: entre na tabela, vá em "Operações" e altere o collation da tabela também — isso garante que os dados novos e as colunas de texto fiquem todos no mesmo padrão.
Dica da Sensei: alterar o charset do banco NÃO converte automaticamente o texto que já está torto lá dentro — ele arruma a "regra" pra tudo que for salvo/lido dali pra frente. Se os dados antigos já estão com caracteres estranhos gravados, pode ser necessário um ajuste específico nesses registros. Se não tiver certeza, é mais seguro pedir uma orientação ao nosso suporte antes de mexer em dados que já existem.

4. Confira também a conexão do seu site com o banco

De nada adianta o banco estar em utf8mb4 se o seu site (WordPress, sistema próprio, etc.) está configurado pra se conectar em outro charset. Normalmente:

  • Em sites WordPress, isso é configurado no arquivo wp-config.php, na linha do DB_CHARSET (o ideal é estar como utf8mb4).
  • Em sistemas próprios, verifique a configuração de conexão com o banco no código-fonte.

Se você não se sentir confortável mexendo em arquivo de configuração, é só chamar a gente — pode ser algo rapidinho de ajustar.

5. Teste o resultado

  1. Acesse seu site novamente e veja se os acentos e caracteres especiais voltaram ao normal.
  2. Se ainda aparecer algo torto em uma página específica, pode ser conteúdo antigo que precisa de um tratamento pontual — nesse caso, fale com a gente que a gente te ajuda a identificar certinho.
Dica da Sensei: se você não se sentir seguro(a) em mexer no phpMyAdmin sozinho(a), sem problemas! Abra um chamado no nosso suporte contando o que está acontecendo (se possível, com um print da tela torta) que a gente cuida disso com todo carinho. 💛

Prontinho! Com o charset e o collation certos, seu site fala a mesma língua do banco de dados — sem mais acento bagunçado. Qualquer dúvida, é só chamar a Sensei. 🥋

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.