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
- Acesse o cPanel da sua hospedagem.
- No grupo de ferramentas, procure e clique em "Bancos de Dados MySQL".
- Na lista de bancos existentes, você consegue ver os bancos já criados na sua conta.
- 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)
- Entre no phpMyAdmin e selecione o banco de dados.
- Clique na aba "Operações".
- No campo "Collation", escolha utf8mb4_unicode_ci e confirme.
- 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! 🌸