Introdução
Se você chegou até aqui, é bastante provável que já saiba que tem um erro que é conhecido por erro de codificação.
Especialmente para os leigos que estão tentando corrigir um problema, porque não têm um web designer ou programador para lhe ajudar, ou aqueles que ainda estão dando os primeiros passos, é comum ouvir coisas como: “Meus textos estão cheios de caracteres estranhos”
Neste caso, algo como “São Paulo”, é exibido como “São Paulo” ou “S?o Paulo” ou ainda outras variações tão estranhas quanto.
Este tipo de problema é conhecido como erro de codificação e é resultante de adotar um conjunto de caracteres inadequado ou diferente para os arquivos, o banco de dados e a programação utilizados.
Cada idioma ou língua existente, usa um conjunto de caracteres ou códigos para formar as palavras usadas no idioma. Assim, por exemplo, no idioma inglês – que é adotado como padrão em muitos softwares – não são utilizados caracteres acentuados, que por sua vez são comuns nas línguas latinas, em especial na língua portuguesa.
Assim, a não definição de uma codificação apropriada e única para o conjunto de arquivos, banco de dados e programação que compõem o seu site, vai acarretar em problemas toda vez que for necessário exibir palavras com caracteres acentuados ou “ç” ou o til (~), sendo que este não é um acento.
Mas o problema não ocorre apenas quando se tenta utilizar o conjunto de caracteres que corresponde aos idiomas latinos, mas quando se tenta também usar outros conjuntos, como por exemplo, o cirílico que é usado no grego e no russo.
Para resolver este problema, foi criado um conjunto de caracteres que se não contém todos, reúne a maioria dos caracteres mais comuns dos idiomas mais falados globalmente e que é o UTF-8.
O UTF-8 é um padrão binário de oito bits, capaz de representar qualquer caractere universal padrão do Unicode, o qual por sua vez consiste de mais de 107000 caracteres de diversos conjuntos de idiomas.
Ao adotar o UTF-8 como codificação padrão para arquivos, bancos de dados e programação, é bastante improvável que se tenha erros de codificação.
Pré-requisitos
Para corrigir problemas de codificação, é necessário cumprir os seguintes requisitos:
-
Ter acesso aos bancos de dados que eventualmente fazem parte do site;
-
Possuir um editor de texto que permite salvar no formato UTF-8;
-
Acesso aos arquivos que compõem o site, ou seja, os arquivos PHP e HTML.
Passos para corrigir a codificação
É preciso ter em mente que deve-se assegurar que tanto arquivos, como banco de dados e programação sejam devidamente alterados.
Alterando a codificação do banco de dados MySQL
-
Abra cada tabela que contém conteúdo do site no phpMyAdmin;
-
Vá até a guia / aba operações;
-
Localize “opções da tabela”;
-
No campo selection “Agrupamento (Collation)”, selecione a opção “utf8mb4_unicode_ci”;
-
Clique no botão “executar”
Alterando a codificação dos arquivos PHP e HTML
-
Abra o arquivo PHP ou HTML em um editor que permite salvar em diferentes codificações (Sublime, Notepad++, Eclipse, Netbeans, etc);
-
Abra o menu arquivo e selecione a opção “salvar como”;
-
Dependendo do editor utilizado, a opção de codificação pode ser apresentada de forma diferente, mas em linhas gerais o campo para definir a codificação consta logo abaixo do campo em que é fornecido o nome do arquivo e o tipo de arquivo, os quais devem ser mantidos inalterados. Escolha a opção “UTF-8”
Alterando a codificação da programação
Este procedimento deve ser feito quando se salva os arquivos HTML e PHP como UTF-8, no procedimento acima, com o objetivo de aproveitar que os arquivos já estão abertos para salvamento.
-
Nos arquivos HTML insira a seguinte linha entre as tags HEAD:
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-
Nos arquivos PHP, insira a seguinte linha antes do conteúdo que é exibido em HTML e que corresponde ao BODY:
-
header( 'Content-Type: text/html; charset=utf-8' );
-
Conclusão
A codificação de um site é estabelecida nos atributos dos arquivos PHP e HTML, no banco de dados e suas tabelas e dentro da programação do site. Para que não ocorram erros e os caracteres especiais do idioma utilizado sejam exibidos adequadamente, é necessário usar a codificação apropriada e ela precisa ser a mesma em tudo o que envolve conteúdo textual do site.