HTML, PHP e MySQL: Charset e acentuação correta nos arquivos “includes”

01 (1)

Qual desenvolvedor nunca se deparou com o seguinte problema: Você cria seu site com uma codificação padrão, que exiba acentos normalmente, como o iso-8859-1, e na hora de imprimir na tela algum include, os caracteres com acentos aparecem confusos, distorcidos. Isso ocorre porque a codificação de exibição, pode não ser a mesma do documento que foi salvo pelo editor. Uma forma prática de resolver isso, é configurar o editor para salvar na codificação que você está trabalhando, ao invés da iso-8859-1, porém essa não é a maneira correta, sabia?

O segredo está justamente no começo do seu código. Ao invés de utilizar o tradicional iso-8859-1, comece seus documentos sempre assim:

Pronto! Agora todos os caracteres do seu site vão aparecer de forma correta, mesmo os caracteres com acentos escritos nos includes do PHP.

E o banco de dados?

Outro problema bastante comum é a forma como o MySQL grava e lê os dados armazenados, que geralmente vêm numa codificação diferente. Para resolver isso basta ajustar a base de dados para utf8 e utf8-unicode-ci juntamente com as tabelas. Ainda assim, o problema pode persistir e isso porque o canal que o PHP abre com o MySQL, tanto para
consulta, exibição e conexão, por padrão é latin1.

Para resolver este problema, basta apenas adicionar os seguintes comandos após a conexão ser aberta:

Com isso, o PHP para de tentar converter para latin1 o UTF-8, e o browser passa a exibir corretamente os acentos dentro dos padrões hoje utilizados.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *