{"id":17159,"date":"2026-08-08T19:27:48","date_gmt":"2026-08-08T22:27:48","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=17159"},"modified":"2026-08-08T20:38:12","modified_gmt":"2026-08-08T23:38:12","slug":"acentuacao-mysql-utf8","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/","title":{"rendered":"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Se os acentos do seu site viraram s\u00edmbolos estranhos \u2014 <code>Jo\u00c3\u00a3o<\/code> em vez de <code>Jo\u00e3o<\/code>, <code>informa\u00c3\u00a7\u00c3\u00a3o<\/code> em vez de <code>informa\u00e7\u00e3o<\/code> \u2014, o problema \u00e9 de codifica\u00e7\u00e3o de caracteres, e quase sempre aparece depois de exportar e importar um banco de dados. A causa mais comum \u00e9 o <code>mysqldump<\/code> ou o phpMyAdmin gravando o arquivo num charset diferente do que o banco de destino espera.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A boa not\u00edcia: <strong>os dados n\u00e3o foram perdidos.<\/strong> Os bytes originais continuam l\u00e1 \u2014 o que se perdeu foi a instru\u00e7\u00e3o de como interpret\u00e1-los. E na maioria dos casos d\u00e1 para recuperar.<\/p>\n\n\n\n<div style=\"border:1px solid #c7dcfa; border-left:4px solid #1a73e8; background:#f2f7fe; border-radius:8px; padding:18px 22px; margin:24px 0; font-family:Arial, Helvetica, sans-serif;\">\n<div style=\"font-weight:700; color:#0b3d91; margin-bottom:6px; text-transform:uppercase; letter-spacing:.05em; font-size:14px;\">Resposta r\u00e1pida<\/div>\n<p style=\"color:#0b3d91; line-height:1.65; margin:0 0 10px;\">O que voc\u00ea v\u00ea diz onde est\u00e1 o problema:<\/p>\n<table style=\"width:100%; border-collapse:collapse; margin-top:4px; font-size:14px; color:#0b3d91;\">\n<tr><td style=\"padding:5px 8px;\"><code>Jo\u00c3\u00a3o<\/code>, <code>informa\u00c3\u00a7\u00c3\u00a3o<\/code><\/td><td style=\"padding:5px 8px;\">Texto UTF-8 sendo lido como latin1 \u2014 o caso mais comum<\/td><\/tr>\n<tr><td style=\"padding:5px 8px;\"><code>Jo?o<\/code>, <code>informa??o<\/code><\/td><td style=\"padding:5px 8px;\">Dados j\u00e1 convertidos com perda. Precisa restaurar backup<\/td><\/tr>\n<tr><td style=\"padding:5px 8px;\"><code>Jo\ufffdo<\/code><\/td><td style=\"padding:5px 8px;\">Byte inv\u00e1lido para o charset atual<\/td><\/tr>\n<tr><td style=\"padding:5px 8px;\">Emojis somem ou viram <code>???<\/code><\/td><td style=\"padding:5px 8px;\">O banco est\u00e1 em <code>utf8<\/code> e n\u00e3o em <code>utf8mb4<\/code><\/td><\/tr>\n<\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Conte\u00fado<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#O_que_realmente_esta_acontecendo\" title=\"O que realmente est\u00e1 acontecendo\">O que realmente est\u00e1 acontecendo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Os_quatro_pontos_onde_o_charset_e_definido\" title=\"Os quatro pontos onde o charset \u00e9 definido\">Os quatro pontos onde o charset \u00e9 definido<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Atencao_utf8_no_MySQL_nao_e_UTF-8\" title=\"Aten\u00e7\u00e3o: utf8 no MySQL n\u00e3o \u00e9 UTF-8\">Aten\u00e7\u00e3o: utf8 no MySQL n\u00e3o \u00e9 UTF-8<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Como_exportar_sem_quebrar_os_acentos\" title=\"Como exportar sem quebrar os acentos\">Como exportar sem quebrar os acentos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Como_descobrir_o_charset_atual_do_seu_banco\" title=\"Como descobrir o charset atual do seu banco\">Como descobrir o charset atual do seu banco<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Corrigindo_um_banco_que_ja_esta_com_acentos_quebrados\" title=\"Corrigindo um banco que j\u00e1 est\u00e1 com acentos quebrados\">Corrigindo um banco que j\u00e1 est\u00e1 com acentos quebrados<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#O_caso_especifico_do_WordPress\" title=\"O caso espec\u00edfico do WordPress\">O caso espec\u00edfico do WordPress<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Perguntas_frequentes\" title=\"Perguntas frequentes\">Perguntas frequentes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Veja_tambem\" title=\"Veja tamb\u00e9m\">Veja tamb\u00e9m<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#Conclusao\" title=\"Conclus\u00e3o\">Conclus\u00e3o<\/a><\/li><\/ul><\/nav><\/div>\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_realmente_esta_acontecendo\"><\/span>O que realmente est\u00e1 acontecendo<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um banco de dados n\u00e3o guarda letras \u2014 guarda <strong>n\u00fameros<\/strong>. Cada caractere \u00e9 convertido em um ou mais bytes, e a tabela que define essa convers\u00e3o \u00e9 o <strong>charset<\/strong> (conjunto de caracteres).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O <code>\u00e3<\/code> em UTF-8, por exemplo, ocupa dois bytes: <code>C3 A3<\/code>. Se um programa l\u00ea esses dois bytes achando que s\u00e3o latin1 \u2014 onde cada byte \u00e9 um caractere \u2014, ele exibe <code>\u00c3<\/code> e <code>\u00a3<\/code>. Da\u00ed o <code>Jo\u00c3\u00a3o<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nada foi corrompido.<\/strong> Os bytes <code>C3 A3<\/code> continuam exatamente onde estavam. O que falhou foi a instru\u00e7\u00e3o de como interpret\u00e1-los.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E \u00e9 por isso que o problema costuma aparecer numa migra\u00e7\u00e3o: o banco de origem falava um charset, o arquivo foi exportado noutro, e o banco de destino leu num terceiro. Basta um elo discordar para os acentos quebrarem.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-quebrada-phpmyadmin-1024x683.png\" alt=\"Registros no phpMyAdmin com acentua\u00e7\u00e3o quebrada, exibindo \u00c3\u00a3 em vez de \u00e3\" class=\"wp-image-17168\" width=\"1024\" height=\"683\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-quebrada-phpmyadmin-1024x683.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-quebrada-phpmyadmin-300x200.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-quebrada-phpmyadmin-768x512.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-quebrada-phpmyadmin.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Os_quatro_pontos_onde_o_charset_e_definido\"><\/span>Os quatro pontos onde o charset \u00e9 definido<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esta \u00e9 a parte que a maioria dos tutoriais n\u00e3o explica, e \u00e9 por ela que o problema volta mesmo depois de &#8220;corrigido&#8221;: <strong>o charset \u00e9 declarado em quatro lugares diferentes<\/strong>, e todos precisam concordar.<\/p>\n\n\n\n<div style=\"overflow-x:auto; margin:24px 0;\">\n<table style=\"width:100%; border-collapse:collapse; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; min-width:620px;\">\n<thead>\n<tr style=\"background-color:#1a73e8; color:#ffffff; text-align:left;\">\n<th style=\"padding:12px 14px; border:1px solid #1a73e8;\">Onde<\/th>\n<th style=\"padding:12px 14px; border:1px solid #1a73e8;\">O que define<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color:#f7fafd;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>Banco e tabelas<\/strong><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Como os dados s\u00e3o gravados em disco<\/td>\n<\/tr>\n<tr style=\"background-color:#ffffff;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>Conex\u00e3o<\/strong><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Como a aplica\u00e7\u00e3o e o banco conversam<\/td>\n<\/tr>\n<tr style=\"background-color:#f7fafd;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>Aplica\u00e7\u00e3o<\/strong> (PHP, WordPress)<\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Como o c\u00f3digo trata o texto que recebe<\/td>\n<\/tr>\n<tr style=\"background-color:#ffffff;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>P\u00e1gina HTML<\/strong><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Como o navegador exibe o resultado<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Um site pode ter o banco em UTF-8 e ainda assim mostrar acentos quebrados, se a conex\u00e3o estiver em latin1. E o contr\u00e1rio tamb\u00e9m: banco em latin1 exibindo tudo certo, porque a conex\u00e3o tamb\u00e9m est\u00e1 em latin1 \u2014 at\u00e9 o dia em que algu\u00e9m exporta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A regra \u00e9 simples: use <code>utf8mb4<\/code> nos quatro.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Atencao_utf8_no_MySQL_nao_e_UTF-8\"><\/span>Aten\u00e7\u00e3o: <code>utf8<\/code> no MySQL n\u00e3o \u00e9 UTF-8<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um detalhe que resolve metade dos casos dif\u00edceis, e quase ningu\u00e9m sabe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por raz\u00f5es hist\u00f3ricas, o charset chamado <strong><code>utf8<\/code><\/strong> no <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/o-que-e-mysql\/\">MySQL<\/a> nunca foi o UTF-8 completo. Ele armazena no m\u00e1ximo <strong>3 bytes por caractere<\/strong>, o que cobre acentos e a maioria dos idiomas, mas <strong>n\u00e3o cobre emojis<\/strong> nem alguns caracteres de l\u00ednguas asi\u00e1ticas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O UTF-8 de verdade, com at\u00e9 4 bytes, chama-se <strong><code>utf8mb4<\/code><\/strong>. Ele \u00e9 o padr\u00e3o desde o <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-8-as-novidades-da-nova-versao-do-mysql\/\">MySQL 8<\/a>, mas bancos criados em vers\u00f5es anteriores costumam ter ficado no <code>utf8<\/code> antigo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como isso aparece:<\/strong> os acentos funcionam normalmente, mas um emoji digitado num post ou num coment\u00e1rio some, vira <code>???<\/code>, ou trunca o texto a partir dali.<\/p>\n\n\n\n<div style=\"border:1px solid #f0d9a8; border-left:4px solid #e0a800; background:#fffaf0; border-radius:8px; padding:18px 22px; margin:24px 0; font-family:Arial, Helvetica, sans-serif;\">\n<div style=\"font-weight:700; color:#8a6d00; margin-bottom:6px; text-transform:uppercase; letter-spacing:.05em; font-size:14px;\">&#x26a0;&#xfe0f; Sempre use utf8mb4, nunca utf8<\/div>\n<p style=\"color:#8a6d00; line-height:1.65; margin:0;\">Ao criar um banco novo, escolher tabelas ou definir a conex\u00e3o, prefira sempre <code>utf8mb4<\/code> com collation <code>utf8mb4_unicode_ci<\/code>. O <code>utf8<\/code> antigo funciona para acentos, mas cria um problema latente que s\u00f3 aparece quando algu\u00e9m usa um emoji \u2014 e a\u00ed a corre\u00e7\u00e3o exige converter tudo de novo.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_exportar_sem_quebrar_os_acentos\"><\/span>Como exportar sem quebrar os acentos<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A causa mais frequente do problema. Duas formas de exportar, e o cuidado em cada uma:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pelo phpMyAdmin:<\/strong> ao exportar, escolha o m\u00e9todo <strong>Personalizado<\/strong> e confira o campo de <strong>conjunto de caracteres do arquivo<\/strong>. Ele deve estar em <code>utf-8<\/code>. No m\u00e9todo R\u00e1pido, o phpMyAdmin usa o padr\u00e3o do servidor \u2014 que nem sempre \u00e9 o certo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-exportar-charset-utf8-1024x683.png\" alt=\"Exporta\u00e7\u00e3o personalizada no phpMyAdmin com o conjunto de caracteres definido como utf-8\" class=\"wp-image-17165\" width=\"1024\" height=\"683\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-exportar-charset-utf8-1024x683.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-exportar-charset-utf8-300x200.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-exportar-charset-utf8-768x512.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-exportar-charset-utf8.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pela linha de comando<\/strong>, o par\u00e2metro \u00e9 expl\u00edcito:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nmysqldump --default-character-set=utf8mb4 -u usuario -p nome_do_banco &gt; backup.sql\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">E na importa\u00e7\u00e3o, o mesmo cuidado:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nmysql --default-character-set=utf8mb4 -u usuario -p nome_do_banco &lt; backup.sql\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Um detalhe que engana:<\/strong> abrir o arquivo <code>.sql<\/code> no Bloco de Notas e ver os acentos corretos n\u00e3o garante nada \u2014 o editor pode estar interpretando bem um arquivo que o MySQL vai interpretar mal. O que vale \u00e9 o charset declarado na exporta\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nosso guia sobre <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/como-fazer-um-backup-do-banco-de-dados-mysql-usando-phpmyadmin\/\">backup do banco pelo phpMyAdmin<\/a> cobre o processo completo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_descobrir_o_charset_atual_do_seu_banco\"><\/span>Como descobrir o charset atual do seu banco<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de corrigir, vale saber o que est\u00e1 configurado. No phpMyAdmin, abra a aba <strong>SQL<\/strong> e rode:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nSELECT default_character_set_name, default_collation_name<br>\nFROM information_schema.SCHEMATA<br>\nWHERE schema_name = 'nome_do_banco';\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">E para ver tabela por tabela, que \u00e9 onde as inconsist\u00eancias aparecem:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nSELECT table_name, table_collation<br>\nFROM information_schema.TABLES<br>\nWHERE table_schema = 'nome_do_banco';\n<\/code>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-tabelas-collation-misto-1024x683.png\" alt=\"Estrutura do banco no phpMyAdmin mostrando tabelas com agrupamentos diferentes\" class=\"wp-image-17167\" width=\"1024\" height=\"683\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-tabelas-collation-misto-1024x683.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-tabelas-collation-misto-300x200.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-tabelas-collation-misto-768x512.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-tabelas-collation-misto.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 comum encontrar um banco declarado em <strong><code>utf8mb4<\/code> <\/strong>com tabelas antigas ainda em <strong><code>latin1<\/code> <\/strong>\u2014 resqu\u00edcio de migra\u00e7\u00f5es passadas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-operacoes-collation-banco-1024x683.png\" alt=\"Aba Opera\u00e7\u00f5es do phpMyAdmin mostrando o agrupamento atual do banco de dados\" class=\"wp-image-17166\" width=\"1024\" height=\"683\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-operacoes-collation-banco-1024x683.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-operacoes-collation-banco-300x200.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-operacoes-collation-banco-768x512.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/phpmyadmin-operacoes-collation-banco.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Corrigindo_um_banco_que_ja_esta_com_acentos_quebrados\"><\/span>Corrigindo um banco que j\u00e1 est\u00e1 com acentos quebrados<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui a ordem importa, e o primeiro passo n\u00e3o \u00e9 negoci\u00e1vel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Fa\u00e7a backup antes de qualquer coisa.<\/strong> Convers\u00e3o de charset \u00e9 irrevers\u00edvel, e uma convers\u00e3o feita na dire\u00e7\u00e3o errada destr\u00f3i os dados de vez \u2014 transformando um problema de exibi\u00e7\u00e3o num problema real de perda. O mesmo vale para o <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/\">erro de inicializa\u00e7\u00e3o do MySQL no XAMPP<\/a>, em que a pressa de &#8220;resolver&#8221; apagando arquivos \u00e9 o que costuma destruir os bancos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Identifique o cen\u00e1rio.<\/strong> H\u00e1 dois, e a solu\u00e7\u00e3o \u00e9 diferente:<\/p>\n\n\n\n<div style=\"overflow-x:auto; margin:24px 0;\">\n<table style=\"width:100%; border-collapse:collapse; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; min-width:620px;\">\n<thead>\n<tr style=\"background-color:#0b3d91; color:#ffffff; text-align:left;\">\n<th style=\"padding:12px 14px; border:1px solid #0b3d91;\">Cen\u00e1rio<\/th>\n<th style=\"padding:12px 14px; border:1px solid #0b3d91;\">Como identificar<\/th>\n<th style=\"padding:12px 14px; border:1px solid #0b3d91;\">Solu\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color:#f7fafd;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>S\u00f3 a leitura est\u00e1 errada<\/strong><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Voc\u00ea v\u00ea <code>Jo\u00c3\u00a3o<\/code>. Os bytes est\u00e3o corretos, a interpreta\u00e7\u00e3o n\u00e3o<\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Ajustar o charset da conex\u00e3o e das tabelas<\/td>\n<\/tr>\n<tr style=\"background-color:#ffffff;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>Os dados j\u00e1 foram convertidos<\/strong><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Voc\u00ea v\u00ea <code>Jo?o<\/code>. Os bytes originais foram substitu\u00eddos<\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">N\u00e3o h\u00e1 convers\u00e3o que resolva \u2014 restaure um backup anterior<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Aquele segundo caso \u00e9 importante e pouco dito: <strong>quando os acentos viram <code>?<\/code>, a informa\u00e7\u00e3o se perdeu de fato.<\/strong> O ponto de interroga\u00e7\u00e3o \u00e9 o que o MySQL grava quando n\u00e3o consegue representar um caractere no charset de destino, e n\u00e3o h\u00e1 como saber qual letra estava ali.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Converta as tabelas<\/strong>, se for o primeiro cen\u00e1rio:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nALTER TABLE nome_da_tabela<br>\nCONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Repita para cada tabela. Um banco WordPress tem cerca de doze tabelas \u2014 o phpMyAdmin permite selecionar todas de uma vez e aplicar a opera\u00e7\u00e3o em lote.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Ajuste a aplica\u00e7\u00e3o.<\/strong> No WordPress, o charset fica no <code><a href=\"https:\/\/www.homehost.com.br\/blog\/wordpress\/wp-config-php\/\">wp-config.php<\/a><\/code>:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\ndefine( 'DB_CHARSET', 'utf8mb4' );<br>\ndefine( 'DB_COLLATE', '' );\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Em PHP puro com PDO, o charset vai na string de conex\u00e3o: <code>mysql:host=localhost;dbname=banco;charset=utf8mb4<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Confira o HTML.<\/strong> Mesmo com tudo certo no banco, uma p\u00e1gina sem <code>&lt;meta charset=\"utf-8\"&gt;<\/code> exibe acentos quebrados. Nosso guia sobre <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/caracteres-especiais-acentos-html\/\">caracteres especiais e acentos no HTML<\/a> cobre esse lado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_caso_especifico_do_WordPress\"><\/span>O caso espec\u00edfico do WordPress<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Alguns pontos que s\u00f3 aparecem no WordPress:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A migra\u00e7\u00e3o \u00e9 o momento de risco.<\/strong> Ao mover o site, o banco de origem pode estar em <code>latin1<\/code> e o de destino em <code>utf8mb4<\/code>. A exporta\u00e7\u00e3o sem charset expl\u00edcito \u00e9 o que quebra tudo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O <code>wp-config.php<\/code> manda no comportamento.<\/strong> Se o <code>DB_CHARSET<\/code> n\u00e3o bater com o charset real das tabelas, o WordPress grava certo e l\u00ea errado \u2014 ou o contr\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sites antigos costumam estar em <code>latin1<\/code>.<\/strong> Instala\u00e7\u00f5es de antes de 2015 foram criadas assim, e continuam funcionando at\u00e9 o dia da migra\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Plugins de migra\u00e7\u00e3o ajudam.<\/strong> Ferramentas como Duplicator e All-in-One WP Migration cuidam do charset automaticamente \u2014 \u00e9 um argumento a favor de us\u00e1-las em vez do processo manual, sobretudo para quem n\u00e3o domina o assunto.<\/p>\n\n\n\n<div style=\"max-width:760px; margin:32px auto; background:linear-gradient(135deg,#1a73e8 0%,#0b3d91 100%); border-radius:16px; padding:32px 28px; font-family:Arial, Helvetica, sans-serif; color:#fff; box-shadow:0 10px 30px rgba(26,115,232,.25);\">\n<div style=\"display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap;\">\n<div style=\"flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:12px; background:rgba(255,255,255,.18);\">\n<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"><\/path><polyline points=\"17 8 12 3 7 8\"><\/polyline><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"><\/line><\/svg>\n<\/div>\n<div style=\"flex:1 1 320px; min-width:260px;\">\n<div style=\"font-weight:800; line-height:1.25; margin-bottom:8px; font-size:19px;\">Migra\u00e7\u00e3o feita por quem j\u00e1 viu esse problema<\/div>\n<p style=\"margin:0 0 18px; line-height:1.6; color:#dbe7fb;\">Acentua\u00e7\u00e3o quebrada \u00e9 o erro mais comum de migra\u00e7\u00e3o feita \u00e0s pressas. Na Homehost, a migra\u00e7\u00e3o \u00e9 gratuita e conduzida pela nossa equipe \u2014 arquivos, banco e e-mails, com o charset conferido antes de entregar. Servidor no Brasil, NVMe e suporte em portugu\u00eas, a partir de R$ 7,90\/m\u00eas.<\/p>\n<a href=\"https:\/\/www.homehost.com.br\/hospedagem-de-sites\/\" style=\"display:inline-flex; align-items:center; gap:8px; background:#fff; color:#1a73e8; font-weight:700; text-decoration:none; padding:13px 26px; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,.15);\">\nVer planos de hospedagem\n<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#1a73e8\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"><\/path><\/svg>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Perguntas_frequentes\"><\/span>Perguntas frequentes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Por que os acentos do meu site viraram s\u00edmbolos estranhos?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque o texto foi gravado num charset e est\u00e1 sendo lido em outro. O caso mais comum \u00e9 conte\u00fado em UTF-8 sendo interpretado como latin1, o que transforma <code>\u00e7\u00e3o<\/code> em <code>\u00c3\u00a7\u00c3\u00a3o<\/code>. Os dados n\u00e3o foram perdidos: os bytes originais continuam no banco, e o que falhou foi a instru\u00e7\u00e3o de como interpret\u00e1-los.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Qual a diferen\u00e7a entre utf8 e utf8mb4 no MySQL?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O charset chamado <code>utf8<\/code> no MySQL n\u00e3o \u00e9 o UTF-8 completo \u2014 ele usa no m\u00e1ximo 3 bytes por caractere, o que cobre acentos mas n\u00e3o emojis nem alguns caracteres asi\u00e1ticos. O <code>utf8mb4<\/code> \u00e9 o UTF-8 de verdade, com at\u00e9 4 bytes. Use sempre <code>utf8mb4<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como exportar um banco MySQL sem quebrar a acentua\u00e7\u00e3o?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pela linha de comando, use <code>mysqldump --default-character-set=utf8mb4<\/code>. No phpMyAdmin, escolha o m\u00e9todo Personalizado e confirme que o conjunto de caracteres do arquivo est\u00e1 como <code>utf-8<\/code> \u2014 o m\u00e9todo R\u00e1pido usa o padr\u00e3o do servidor, que nem sempre \u00e9 o correto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Meus acentos viraram pontos de interroga\u00e7\u00e3o. D\u00e1 para recuperar?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o. O ponto de interroga\u00e7\u00e3o \u00e9 o que o MySQL grava quando n\u00e3o consegue representar um caractere no charset de destino \u2014 a informa\u00e7\u00e3o original foi substitu\u00edda e n\u00e3o h\u00e1 como saber qual letra estava ali. A \u00fanica sa\u00edda \u00e9 restaurar um backup anterior \u00e0 convers\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como sei qual charset meu banco est\u00e1 usando?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No phpMyAdmin, a aba Opera\u00e7\u00f5es do banco mostra o agrupamento (collation) atual. Para ver tabela por tabela, rode uma consulta em <code>information_schema.TABLES<\/code> filtrando pelo nome do seu banco \u2014 \u00e9 comum encontrar bancos em <code>utf8mb4<\/code> com tabelas antigas ainda em <code>latin1<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Corrigi o banco mas os acentos continuam errados. Por qu\u00ea?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O charset \u00e9 definido em quatro lugares: banco e tabelas, conex\u00e3o, aplica\u00e7\u00e3o e p\u00e1gina HTML. Corrigir s\u00f3 um n\u00e3o basta \u2014 se a conex\u00e3o continua em latin1, o problema persiste mesmo com as tabelas em utf8mb4. No WordPress, confira tamb\u00e9m o <code>DB_CHARSET<\/code> no <code>wp-config.php<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Converter as tabelas para utf8mb4 \u00e9 seguro?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A opera\u00e7\u00e3o em si \u00e9 padr\u00e3o, mas \u00e9 irrevers\u00edvel \u2014 e se os dados j\u00e1 estiverem em estado inconsistente, a convers\u00e3o pode piorar. Fa\u00e7a backup do banco antes, sempre. Se a convers\u00e3o der errado, o backup \u00e9 a \u00fanica forma de voltar atr\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Por que isso acontece principalmente em migra\u00e7\u00f5es?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque a migra\u00e7\u00e3o envolve tr\u00eas pontos onde o charset pode divergir: o banco de origem, o arquivo exportado e o banco de destino. Basta um deles discordar para os acentos quebrarem. Exportar e importar declarando <code>utf8mb4<\/code> explicitamente evita o problema.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n\"@context\": \"https:\/\/schema.org\",\n\"@type\": \"FAQPage\",\n\"mainEntity\": [\n{\"@type\":\"Question\",\"name\":\"Por que os acentos do meu site viraram s\u00edmbolos estranhos?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Porque o texto foi gravado num charset e est\u00e1 sendo lido em outro. O caso mais comum \u00e9 conte\u00fado em UTF-8 sendo interpretado como latin1. Os dados n\u00e3o foram perdidos: os bytes originais continuam no banco, e o que falhou foi a instru\u00e7\u00e3o de como interpret\u00e1-los.\"}},\n{\"@type\":\"Question\",\"name\":\"Qual a diferen\u00e7a entre utf8 e utf8mb4 no MySQL?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"O charset chamado utf8 no MySQL n\u00e3o \u00e9 o UTF-8 completo, pois usa no m\u00e1ximo 3 bytes por caractere, o que cobre acentos mas n\u00e3o emojis nem alguns caracteres asi\u00e1ticos. O utf8mb4 \u00e9 o UTF-8 de verdade, com at\u00e9 4 bytes. Use sempre utf8mb4.\"}},\n{\"@type\":\"Question\",\"name\":\"Como exportar um banco MySQL sem quebrar a acentua\u00e7\u00e3o?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Pela linha de comando, use mysqldump com o par\u00e2metro default-character-set definido como utf8mb4. No phpMyAdmin, escolha o m\u00e9todo Personalizado e confirme que o conjunto de caracteres do arquivo est\u00e1 como utf-8, porque o m\u00e9todo R\u00e1pido usa o padr\u00e3o do servidor, que nem sempre \u00e9 o correto.\"}},\n{\"@type\":\"Question\",\"name\":\"Meus acentos viraram pontos de interroga\u00e7\u00e3o. D\u00e1 para recuperar?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"N\u00e3o. O ponto de interroga\u00e7\u00e3o \u00e9 o que o MySQL grava quando n\u00e3o consegue representar um caractere no charset de destino, ent\u00e3o a informa\u00e7\u00e3o original foi substitu\u00edda e n\u00e3o h\u00e1 como saber qual letra estava ali. A \u00fanica sa\u00edda \u00e9 restaurar um backup anterior \u00e0 convers\u00e3o.\"}},\n{\"@type\":\"Question\",\"name\":\"Como sei qual charset meu banco est\u00e1 usando?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No phpMyAdmin, a aba Opera\u00e7\u00f5es do banco mostra o agrupamento (collation) atual. Para ver tabela por tabela, rode uma consulta em information_schema.TABLES filtrando pelo nome do seu banco. \u00c9 comum encontrar bancos em utf8mb4 com tabelas antigas ainda em latin1.\"}},\n{\"@type\":\"Question\",\"name\":\"Corrigi o banco mas os acentos continuam errados. Por qu\u00ea?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"O charset \u00e9 definido em quatro lugares: banco e tabelas, conex\u00e3o, aplica\u00e7\u00e3o e p\u00e1gina HTML. Corrigir s\u00f3 um n\u00e3o basta, porque se a conex\u00e3o continua em latin1 o problema persiste mesmo com as tabelas em utf8mb4. No WordPress, confira tamb\u00e9m o DB_CHARSET no wp-config.php.\"}},\n{\"@type\":\"Question\",\"name\":\"Converter as tabelas para utf8mb4 \u00e9 seguro?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"A opera\u00e7\u00e3o em si \u00e9 padr\u00e3o, mas \u00e9 irrevers\u00edvel, e se os dados j\u00e1 estiverem em estado inconsistente a convers\u00e3o pode piorar. Fa\u00e7a backup do banco antes, sempre. Se a convers\u00e3o der errado, o backup \u00e9 a \u00fanica forma de voltar atr\u00e1s.\"}},\n{\"@type\":\"Question\",\"name\":\"Por que isso acontece principalmente em migra\u00e7\u00f5es?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Porque a migra\u00e7\u00e3o envolve tr\u00eas pontos onde o charset pode divergir: o banco de origem, o arquivo exportado e o banco de destino. Basta um deles discordar para os acentos quebrarem. Exportar e importar declarando utf8mb4 explicitamente evita o problema.\"}}\n]\n}\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Veja_tambem\"><\/span>Veja tamb\u00e9m<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender o funcionamento do banco, veja <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/o-que-e-mysql\/\">o que \u00e9 MySQL<\/a> e <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/tipos-de-dados-do-mysql\/\">os tipos de dados do MySQL<\/a>. Sobre acentua\u00e7\u00e3o no lado do HTML, veja <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/caracteres-especiais-acentos-html\/\">caracteres especiais e acentos<\/a>. E se o site parou de conectar ao banco, veja <a href=\"https:\/\/www.homehost.com.br\/blog\/wordpress\/erro-conexao-banco-de-dados\/\">erro ao estabelecer uma conex\u00e3o com o banco de dados<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Acentua\u00e7\u00e3o quebrada assusta mais do que deveria: na maioria das vezes os dados est\u00e3o intactos, e o que se perdeu foi s\u00f3 a instru\u00e7\u00e3o de como l\u00ea-los. O caminho \u00e9 sempre o mesmo \u2014 descobrir em qual dos quatro pontos o charset diverge, alinhar todos em <code>utf8mb4<\/code>, e conferir se a aplica\u00e7\u00e3o e o HTML concordam. Duas coisas valem gravar: <strong>fa\u00e7a backup antes de qualquer convers\u00e3o<\/strong>, porque ela \u00e9 irrevers\u00edvel; e <strong>se os acentos viraram pontos de interroga\u00e7\u00e3o, n\u00e3o h\u00e1 convers\u00e3o que resolva<\/strong> \u2014 ali a informa\u00e7\u00e3o se foi, e s\u00f3 o backup traz de volta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c3\u00a7\u00c3\u00a3o em vez de \u00e7\u00e3o? O problema quase sempre est\u00e1 no charset da exporta\u00e7\u00e3o. Veja como corrigir o banco existente e evitar que aconte\u00e7a de novo.<\/p>\n","protected":false},"author":1,"featured_media":17161,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30],"tags":[],"class_list":["post-17159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8 | Homehost<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8 | Homehost\" \/>\n<meta property=\"og:description\" content=\"\u00c3\u00a7\u00c3\u00a3o em vez de \u00e7\u00e3o? O problema quase sempre est\u00e1 no charset da exporta\u00e7\u00e3o. Veja como corrigir o banco existente e evitar que aconte\u00e7a de novo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-08T22:27:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-08T23:38:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Gustavo Gallas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gustavo Gallas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/\",\"name\":\"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8 | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png\",\"datePublished\":\"2026-08-08T22:27:48+00:00\",\"dateModified\":\"2026-08-08T23:38:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png\",\"width\":1672,\"height\":941,\"caption\":\"Acentua\u00e7\u00e3o quebrada no MySQL - Capa\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4\",\"name\":\"Gustavo Gallas\",\"description\":\"Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do B\u00f3ris, seu pet de estima\u00e7\u00e3o. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos t\u00e9cnicos. Contato: gustavo.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8 | Homehost","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/","og_locale":"pt_BR","og_type":"article","og_title":"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8 | Homehost","og_description":"\u00c3\u00a7\u00c3\u00a3o em vez de \u00e7\u00e3o? O problema quase sempre est\u00e1 no charset da exporta\u00e7\u00e3o. Veja como corrigir o banco existente e evitar que aconte\u00e7a de novo.","og_url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2026-08-08T22:27:48+00:00","article_modified_time":"2026-08-08T23:38:12+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png","type":"image\/png"}],"author":"Gustavo Gallas","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Gustavo Gallas","Est. tempo de leitura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/","url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/","name":"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8 | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png","datePublished":"2026-08-08T22:27:48+00:00","dateModified":"2026-08-08T23:38:12+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4"},"breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png","width":1672,"height":941,"caption":"Acentua\u00e7\u00e3o quebrada no MySQL - Capa"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Acentua\u00e7\u00e3o quebrada no MySQL: como corrigir o UTF-8"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4","name":"Gustavo Gallas","description":"Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do B\u00f3ris, seu pet de estima\u00e7\u00e3o. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos t\u00e9cnicos. Contato: gustavo.blog@homehost.com.br"}]}},"modified_by":"ad_hmhst","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/acentuacao-mysql-utf8.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/17159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=17159"}],"version-history":[{"count":4,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/17159\/revisions"}],"predecessor-version":[{"id":17193,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/17159\/revisions\/17193"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/17161"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=17159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=17159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=17159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}