Banco de dados 32 visualizações

Como configurar o charset e collation corretos no MySQL para evitar problemas com acentuação

Ver no WHMCS

Charset e Collation no MySQL: o fim daquele "áéí" virando símbolo esquisito 🧙‍♂️

Oi! Aqui é a Sensei da GeHost. Se o seu site ou sistema está mostrando coisas como "AçúcAr" em vez de "Açúcar", ou pontos de interrogação (�) no lugar de acentos, calma — isso quase sempre é um probleminha de charset (codificação de caracteres) e collation (regra de ordenação/comparação de texto) no banco de dados MySQL. É simples de entender e de resolver. Vem comigo! 💛

1. Entendendo o problema, sem enrolação

Pensa assim: o charset é o "alfabeto" que o banco usa para guardar cada caractere — incluindo acentos, cedilha e emojis. A collation é a regra que o banco usa para comparar e ordenar esse alfabeto (por exemplo, saber que "a" e "á" são parecidos numa busca).

Quando o banco, a tabela e a conexão do site não "falam o mesmo idioma" de codificação, o português com acento passa a ser interpretado errado — e aparece bagunçado na tela.

Dica da Sensei: hoje em dia o padrão mais recomendado é o utf8mb4 com a collation utf8mb4_unicode_ci (ou utf8mb4_general_ci). O "mb4" é importante porque suporta até emojis 😉 e todos os acentos do português corretamente.

2. Como verificar o charset do seu banco no cPanel

  1. Acesse o cPanel da sua hospedagem.
  2. No grupo de ferramentas, procure e clique em "Bancos de Dados MySQL".
Tela de Bancos de Dados MySQL no cPanel
  1. Na lista de bancos existentes, você consegue ver os bancos já criados na sua conta.
  2. Para conferir o charset de um banco específico, o caminho mais confiável é usar o phpMyAdmin (também disponível no cPanel): abra o banco, clique em "Operações" e veja o campo "Collation" — é ali que aparece o charset atual.

3. Corrigindo o charset e a collation

Se você identificou que o banco (ou uma tabela específica) está com um charset antigo, como latin1, o ideal é migrar para utf8mb4. Você pode fazer isso de duas formas:

3.1 Pelo phpMyAdmin (mais visual)

  1. Entre no phpMyAdmin e selecione o banco de dados.
  2. Clique na aba "Operações".
  3. No campo "Collation", escolha utf8mb4_unicode_ci e confirme.
  4. Repita o processo entrando em cada tabela (não só no banco) e ajustando a collation dela também, na mesma aba "Operações".

3.2 Pelo próprio sistema/CMS que você usa

Se o seu site usa um sistema como WordPress, Joomla ou uma aplicação própria, o mais seguro é configurar o charset já na hora de criar o banco (evita ter que converter dados depois). Ao criar um novo banco pelo cPanel ou por um script de instalação, verifique se há uma opção de charset e escolha utf8mb4.

Dica da Sensei: converter um banco que já tem dados salvos (principalmente se eles já estão "bagunçados") exige atenção redobrada — às vezes é preciso reverter o texto para o charset original antes de converter certo, senão o problema piora. Se seus dados já existem e estão com acentuação errada, é mais seguro pedir apoio ao nosso suporte antes de mexer, para não perder informação.

4. Não esqueça da conexão do site com o banco

Além do banco e das tabelas, o arquivo de configuração do seu site (por exemplo, o wp-config.php do WordPress, ou o arquivo de conexão da sua aplicação) também define um charset para a conexão. Se esse arquivo estiver configurado com um charset diferente do banco, o problema de acentuação continua mesmo com o banco certo.

  • Verifique se a linha de charset no arquivo de configuração do seu site está como utf8mb4.
  • Se você não sabe mexer nesse arquivo com segurança, nosso suporte pode te ajudar a localizar e ajustar essa configuração.

5. Checklist rápido pra fechar com chave de ouro

  • ✅ Banco de dados configurado como utf8mb4
  • ✅ Todas as tabelas com a mesma collation (utf8mb4_unicode_ci, por exemplo)
  • ✅ Arquivo de configuração do site usando o mesmo charset da conexão
  • ✅ Backup feito antes de qualquer alteração — sempre! 🙏
Dica da Sensei: antes de fazer qualquer alteração no banco, faça um backup pelo cPanel (tela "Backup"). Assim, se algo não sair como esperado, você volta pra trás com tranquilidade.

E é isso! Charset e collation parecem assunto técnico assustador, mas no fundo é só garantir que todo mundo — banco, tabela e site — está "conversando" na mesma língua. Se precisar de uma mãozinha em qualquer etapa, nosso suporte está por aqui pra te ajudar. Um abraço da Sensei! 🌸

Precisa de Ajuda?

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