Um conjunto de caracteres é uma variedade de letras e símbolos usado em um sistema de escrita. Palavras e frases no texto são criados a partir de caracteres. Por exemplo, o conjunto de caracteres ASCII abrange letras e símbolos para textos em inglês, o ISO-8859-6 abrange letras e símbolos necessários para muitas línguas com base na caligrafia árabe, e o conjunto de caracteres Unicode contém caracteres para a maioria das línguas. Já um caractere pode incluir letras latinas ou ideogramas chineses, por exemplo.

Caracteres podem ser agrupados em um conjunto de caracteres. Os caracteres em um conjunto são armazenados como um ou mais bytes em um computador. Cada byte ou sequência de bytes representa um determinado caractere. Uma codificação de caracteres é a chave que mapeia um byte em especial ou uma sequência de bytes de caracteres que a fonte transforma em texto. Esse byte ou sequência de bytes que representa um caractere é chamado de codepoint.

Portanto, todos caracteres são armazenados em computadores utilizando-se códigos, muito semelhantes às cifras utilizadas na espionagem. Uma codificação de caracteres é uma chave que permite destravar o código. Sem essas chaves, os dados não possuem qualquer informação.

O termo charset é usado para referir-se ao que são as codificações de caracteres. O W3C recomenda utilizarmos sempre o termo charset ao invés de usarmos o termo codificação de caracteres.

Existem muitas codificações de caracteres diferentes. Se a codificação errada for aplicada aos bytes na memória, o resultado será um texto ilegível. Portanto, é importante classificar corretamente a codificação de caracteres usada para que as pessoas consigam ler o conteúdo.

Exemplos de Codificação

Para dar um exemplo de como funciona a codificação de caracteres, podemos imaginar o conjunto de códigos de caracteres denominado ISO 8859-1, também conhecido como Latin1, onde o valor decimal de codepoint para a letra "é" é representado por 233. No entanto, na codificação ISO 8859-5 este mesmo codepoint representa outro caractere.

Nas referências bibliográficas estão disponíveis algumas tabelas de codificação de caracteres com o código em decimal, octal ou hexadecimal e o seu valor representado.

Ajustando a Codificação no Ambiente de Desenvolvimento

A codificação de caracteres também pode afetar o desenvolvedor e o seu ambiente de desenvolvimento. Dependendo da codificação de caractere configurada no ambiente e o tipo de documento que o desenvolvedor está editando, podemos ter uma discrepância, na qual, se o ambiente de desenvolvimento não conseguir interpretar os dados no arquivo sendo editado, teremos como resultado alguns quadrados ou símbolos estranhos no lugar do caractere esperado.

Para que isso não ocorra, vamos seguir alguns passos no ambiente de desenvolvimento Eclipse para que possamos ajustar a codificação de caracteres. A versão utilizada é a última até o momento da escrita deste artigo, ou seja, Eclipse Juno.

Primeiramente vá até o menu "Window" e em seguida selecione a opção "Preferences".

Na tela aberta, vá na opção "General" no canto esquerdo da tela e selecione a opção "Workspace". Após clicar sobre a opção "Workspace", podemos verificar ao final da tela o fieldset "Text file encoding". No canto esquerdo deste fieldset temos um combo com as opções de codificação de caracteres. Escolha a opção que melhor se encaixa no tipo de arquivo que você irá abrir. Na tela abaixo temos a demonstração desta tela.

Tela de configuração da codificação de caractere para o workspace

Figura 1: Tela de configuração da codificação de caractere para o workspace

Após selecionar a melhor opção para as suas necessidade, clique em "Apply" e dê um "OK" para fechar a tela.

Se você estiver lidando com projetos Web, também é interessante mudar a codificação de caracteres para arquivos comumente utilizados em projetos Web. Portanto, novamente vá até o menu "Window" e em seguida selecione a opção "Preferences".

Na tela aberta vá na opção "Web" no canto esquerdo da tela e selecione a opção "CSS Files". Após clicar sobre a opção "CSS Files" podemos verificar no inicio da tela o fieldset "Creating Files". Selecione em "Add this suffix" o tipo de arquivo e em "Encoding" o tipo de codificação para este arquivo. Na tela abaixo temos a demonstração desta tela.

Tela de configuração da codificação de caractere para arquivos CSS

Figura 2: Tela de configuração da codificação de caractere para arquivos CSS

Após selecionar a melhor opção para as suas necessidades, clique em "Apply" e dê um "OK" para fechar a tela.

Outro arquivo interessante de ser alterado são os arquivos html e seus derivados. Para isso vá até o menu "Window" e em seguida selecione a opção "Preferences".

Na tela aberta, vá na opção "Web" no canto esquerdo da tela e selecione a opção "HTML Files". Após clicar sobre a opção "HTML Files", podemos verificar ao inicio da tela o fieldset "Creating Files". Selecione em "Add this suffix" o tipo de arquivo e em "Encoding" o tipo de codificação para este arquivo. Na tela abaixo temos a demonstração desta tela.

Tela de configuração da codificação de caractere para arquivos HTML

Figura 3: Tela de configuração da codificação de caractere para arquivos HTML

Após selecionar a melhor opção para as suas necessidades, clique em "Apply" e dê um "OK" para fechar a tela.

Se o desenvolvedor estiver trabalhando com projetos J2EE também é possível alterar a codificação de caracteres das páginas JSP. Para isso se dirija novamente até o menu "Window" e em seguida selecione a opção "Preferences".

Na tela aberta vá na opção "Web" no canto esquerdo da tela e selecione a opção "JSP Files". Após clicar sobre a opção "JSP Files" podemos verificar no inicio da tela o fieldset "Creating Files". Selecione em "Add this suffix" o tipo de arquivo e em "Encoding" o tipo de codificação para este arquivo. Na tela abaixo temos a demonstração desta tela.

Tela de configuração da codificação de caractere para arquivos JSP

Figura 4: Tela de configuração da codificação de caractere para arquivos JSP

Após selecionar a melhor opção para as suas necessidades, clique em "Apply" e dê um "OK" para fechar a tela.

Por fim, o desenvolvedor também pode estar trabalhando com arquivos XM,L o que é bastante comum para quem também desenvolve na plataforma J2EE. Portanto, vamos alterar também a codificação desses arquivos. Vá até o menu "Window" e em seguida selecione a opção "Preferences".

Na tela aberta vá na opção "XML" no canto esquerdo da tela e selecione a opção "XML Files". Após clicar sobre a opção "XML Files", podemos verificar ao início da tela o fieldset "Creating Files". Selecione em "Add this suffix" o tipo de arquivo e em "Encoding" o tipo de codificação para este arquivo. Na tela abaixo temos a demonstração desta tela.

Tela de configuração da codificação de caractere para arquivos XM

Figura 5: Tela de configuração da codificação de caractere para arquivos XML

Após selecionar a melhor opção para as suas necessidades, clique em "Apply" e dê um "OK" para fechar a tela.

Conclusão

Neste artigo foram demonstrados os conceitos de codificação de caracteres, seu funcionamento e como se dá a sua configuração no ambiente de desenvolvimento Eclipse. Este tópico sempre gera muitas discussões e dúvidas entre os desenvolvedores. Agradeço aos pedidos para que eu fizesse esse artigo, espero que tenha ajudado a sanar boa parte das dúvidas sobre este assunto. Qualquer dúvida, não esqueça de entrar em contato, estou aguardando mais sugestões.

Bibliografia