Jogo de caracteres, charset, do documento HTML

Como e porque devemos especificar o jogo de caracteres, também conhecido como charset, nos documentos HTML.

Por Miguel Angel Alvarez - Tradução de Celeste Veiga


Publicado em: 27/12/11
Valorize este artigo:
HTML é uma linguagem para modelar páginas web utilizada na Rede Global e portanto, deve permitir criar documentos escritos em vários idiomas. Sabemos que cada idioma tem determinados caracteres, que formam as palavras, e alguns deles podem ser até específicos de uma língua em específico, como por exemplo, a letra Enhe "ñ" do espanhol ou a ce cedilha "ç" do catalão, português etc. Porém, não só estão as letras de cada alfabeto, mas também alguns signos como o dólar ou euro, que também devem poder ser representados em uma página web.

No mundo da informática, em geral os arquivos de texto podem ser escritos com vários jogos de caracteres diferentes. Isto é algo que a maioria das pessoas não têm necessidade de saber, e por isso, quando salvamos um arquivo de texto em um programa como o Bloco de Notas, ninguém nos pergunta que jogo de caracteres estamos utilizando ou queremos usar.

Existem diversos jogos de caracteres, que têm um conjunto maior ou menor de letras e símbolos, dependendo para o que foram desenhados. Talvez alguém tenha ouvido falar, ou visto fazer referencia em alguma parte, ao jogo de caracteres UTF-8, que é um dos mais comuns, ou o ISO-8859-1, que é o predeterminado na maioria dos editores de texto plano, em Windows. Ou seja, embora não saibamos, quando se salva um arquivo de texto no computador, se codifica utilizando um jogo de caracteres determinado.

Como já podemos imaginar, o jogo de caracteres não é mais que um conjunto de letras e símbolos utilizados na escrita e agora você já sabe que qualquer arquivo de informática que contém texto plano (arquivos .txt ou .html, por exemplo) está codificado com um jogo de caracteres. À hora de criar páginas web em HTML devemos ter em conta isto porque, dependendo do jogo de caracteres utilizado, teremos disponíveis uns ou outros símbolos no momento de redigir os textos de uma página web.

Neste artigo, que escrevemos para completar o Manual de HTML de CriarWeb.com, pretendemos oferecer todas as chaves sobre a escolha e a definição dos jogos de caracteres em sua página web, de maneira que você não tenha nunca o típico problema de não serem vistos corretamente os acentos, letras como a ñ ou outros símbolos como os maiores e menores que.

Informar sobre o jogo de caracteres com a etiqueta META CHARSET

Em um documento HTML temos a possibilidade de informar sobre que jogo de caracteres estamos utilizando. Embora, no caso de que não o façamos, os navegadores tentarão detectá-lo automaticamente. Claro que, se nós mesmos indicamos que jogo de caracteres usamos, será muito melhor porque o navegador não terá que deduzi-lo por sua conta e pouparemos possíveis erros de interpretação.

Para informar no código fonte HTML do conjunto de caracteres que utilizamos se dispõe de uma etiqueta META, que se coloca no cabeçalho do documento (no HEAD). Essa etiqueta tem esta sintaxe.

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Como vemos, dentro desta etiqueta se está informando o "charset" (set ou conjunto de caracteres) utilizado, que neste caso seria "ISO-8859-1". Se estamos trabalhando com UTF-8 poderíamos utilizar esta META para informar sobre isso:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Nota: Em HTML indicar o jogo de caracteres é meramente opcional, mas em XHTML sempre deve ser assinalado no documento básico. XHTML utiliza por padrão o jogo de caracteres UTF-8 e se o indicamos na etiqueta META, devemos ter em conta o fechamento dessa etiqueta, utilizando um código como este:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ou então:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>

Que charset escolher e como salvar o documento para isso

Os leitores deste artigo, que entendo escrevam suas páginas web com conteúdos em português, geralmente ficarão inclinados entre dois possíveis charset. Um é o UTF-8 e outro é o ISO-8859-1, que são adequados justamente por conter os caracteres típicos de português e de outra série de idiomas ocidentais.

Quaisquer destas duas opções é bastante comum e nos oferecerá tudo que possamos necessitar. A escolha, portanto é um pouco indiferente quando estamos trabalhando em HTML e talvez dependa um pouco mais do programa que usemos para editar o código fonte de nossas páginas ou de nosso sistema operativo. Em Windows, a maioria dos programas salvam os arquivos de texto baixo o jogo de caracteres ISO-8859-1, por isso, o mais seguro é que estejamos utilizando esse charset mesmo que não saibamos.

Muitos programas, como o Bloco de Notas, não perguntam sequer o jogo de caracteres que queremos utilizar para salvar o arquivo, mas há outros editores mais avançados que sim permitem escolher o charset desejado. Dependendo do programa se pode decidir esse jogo de caracteres de diversas maneiras. Muitos deles tem caixas de diálogo na opção "Salvar como" que incluem um menu para marcar o charset que queremos utilizar e outros podem ser configurados nas opções de programa, para configurar o jogo de caracteres predeterminado a utilizar quando salvamos os arquivos. Há inclusive programas que são suficientemente inteligentes para que, à vista do código HTML e do charset que definimos no mesmo na etiqueta META, salvem por eles mesmos o arquivo com a codificação correta.

Por exemplo, se vemos o código fonte de CriarWeb.com veremos que escolhemos o ISO-8859-1, pois a maioria dos que editamos código fonte do site trabalhamos em Windows tradicionalmente e os arquivos estão com o jogo de caracteres predeterminado da maioria dos programas Windows. Outra maneira de ver o jogo de caracteres de uma página é utilizando o navegador Firefox na opção do menu "Ver / Codificação de caracteres".

Utilizar caracteres que não estão em nosso jogo de caracteres

Se desejarmos, em HTML também podemos colocar no texto de nossa página web um caractere que não se encontre disponível no jogo de caracteres que estamos utilizando. Para tanto são utilizados os caracteres especiais ou entidades especiais do HTML que não são mais que códigos especiais para escrever caracteres que não estão dentro do alfabeto inglÊs, como os acentos, ñ, ç, etc. e inclusIVE símbolos como &, € oU >.

Podemos encontrar Em CriarWeb.com uma explicação mais detalhada dos caracteres especiais, assim como uma lista daqueles disponíveis em HTML

Nota: Seria bom comentar que somos obrigados a utilizar sempre os caracteres especiais quando quisermos colocar no texto os maiores e menores que (">" ou "<"), para não confundi-los com as aberturas e fechamentos de etiquetas.

Conclusão sobre os jogos de caracteres (charset) em HTML

Com estas notas espero que tenham informação suficiente para não deixar a escolha do jogo de caracteres à mera sorte ou configuração de seus programas e, o que é mais importante, que você os tenha em conta ao gerar código HTML para informar sempre a seu charset e que não haja problemas de interpretação de sua página web.

Com isto espero que se solucionem também todas as dúvidas das pessoas que experimentam problemas pontuais em suas páginas web, quando alguns caracteres não se mostram corretamente. A maioria das vezes, como dissemos, isso se soluciona simplesmente especificando o jogo de caracteres no código fonte do HTML, na etiqueta META para especificar o charset.






Usuários :    login / registro
Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato