Boas a todos!
Um problema relatado com certa frequência em fóruns que participo é o de erros na acentuação de textos. Motivado por um texto no Drupal Brasil, resolvi colocar essa dica para outras pessoas que passam pelo mesmo problema.
Para que a acentuação e caracteres especiais apareçam corretamente, é necessário configurar os 3 itens abaixo da mesma maneira:
- a página;
- o banco de dados;
- o editor.
Considerando o uso de utf-8 (o mais indicado), como isso deve ser feito?
1. Na página
1.1 Definir o idioma (opcional mas recomendado)
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
1.2 definir o charset
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2. No banco de dados (MySql)
2.1 Conjunto de caracteres MySQL: UTF-8 Unicode (utf8)
2.2 Collation de conexão do MySQL: utf8_unicode_ci
3. No editor
IMPORTANTE, aqui é onde aparecem muitos problemas.
Normalmente as pessoas não se ligam na codificação que seu editor usa.
Editam o arquivo, salvam e pronto. Ao enviar para o servidor, mesmo
estando correto o charset da página e do bd, o erro persiste.
No nosso exemplo, usando utf-8, nosso editor precisa salvar usando utf-8 também.
No Windows normalmente os editores salvam usando iso-8859-1, para não
ter problema é necessário identificar onde mudar esse parâmetro e então
salvar o arquivo em utf-8.
Um exemplo de como esse pequeno detalhe muda tudo, criei 2 arquivos
html idênticos em conteúdo e o charset está setado como utf-8, que pode
ser constatado no código fonte da página, porém, ao salvar, um foi salvo
com iso-8859-1 e outro com utf-8.
Veja os exemplos aqui:
Vê como muda tudo? 😉
Seguem alguns editores em Windows/Linux e onde mudar essa opção:
Windows
(com a colaboração do gutomec- Luiz Gustavo)
Dreamweaver
- Para trocar o file encoding vá em Modify>Page Properties… (ou Ctrl+j);
- Em Category selecione Title/Encoding;
- Selecione em Encoding o que desejar e dê um OK;
- Salve o documento.
EditPlus:
- Vá em Documents>File Encoding>Change File Encoding;
- Vai abrir uma janela pedindo para selecionar o file encoding, selecione o desejado e dê um OK.
- Salve o documento.
Linux
Geany
- vá em “documento”
- selecione “definir codificação”
- escolha a codificação desejada
Gedit
- vá em “arquivo”
- selecione “salvar como”
- selecionar na caixa select o código desejado
Eclipse
- vá em “preferences
- em “editors” procure a opção para definir codificação
Espero que tenha ajudado! Qualquer dúvida, é só falar.
Publicado originalmente em Drupal Brasil por Marco Antônio.