Evitando erros de Encoding no Java



Neste artigo vou ensinar uma forma simples de corrigir erros, causados pelo uso de acentos e caracteres especiais, com o uso da tabela Unicode.


As vezes, ao utilizar acentos e caracteres especiais, erros podem ocorrer, isto acontece porque possivelmente o que foi utilizado não consta no padrão americano de escrita(ASCII), onde não constam acentos e determinados caracteres. Para resolver isso vamos utilizar uma das tabelas ASCII Estendida(Unicode), que possuem caracteres adicionais além dos já existentes na ASCII, que é chamada de Latin-1 Supplement, nela constam letras já acentuadas e diversos caracteres que são imprimíveis e também funções especiais de processamento(quadrados pontilhados na tabela) que não são imprimíveis.

 

 

Tabela extraída do site http://www.unicode.org/


Exemplo:

Quando queremos imprimir os dizeres “Atenção! Código Inválido!”, note que foram utilizados alguns acentos e o cedilha, ao visualizar a impressão ou mesmo antes vemos que aparecem símbolos estranhos no lugar dos caracteres.

public class Unicode

{

        public static void main(String args[])

        {

                System.out.println(“Atenção! Código Inválido!);

        }

 

Impressão: Aten[][]o! C[]digo Inv[]lido!

 

 

Agora vamos utilizar os códigos da tabela acima para resolver o problema. Em primeiro lugar devemos achar o caractere desejado e identificar o código logo abaixo dele, também podemos identificá-lo por “coluna-linha” de onde cada um está localizado, depois devemos substituir os caracteres problemáticos com o código certo de acordo com a tabela, mas antes deles devemos utilizar o “\u”, por exemplo, para o caracter “Ú”(maiúsculo com acento agudo) seria inserido o “\u00da”. O código acima com as devidas correções segue logo abaixo.

public class Unicode

{

        public static void main(String args[])

        {

                System.out.println("Aten\u00e7\u00e3o! C\u00f3digo Inv\u00e1lido!");

        }

Impressão: Atenção! Código Inválido!

 

OBS: Neste artigo foi mostrado uma solução baseada na linguagem Java, entretanto, podemos utilizá-la em outras linguagens com suas devidas adaptações. Também é importante salientar que existem outras formas de tratar este mesmo problema, abordado neste artigo, que talvez possam se adequar melhor a certos casos.

Para ter mais informações sobre todas as tabelas Unicode acesse: http://www.unicode.org/

Download do artigo
Autor: Danilo Shimada


Artigos Relacionados


Encantadora

Sem Comentário...

Disfarce

Voce Faz Parte De Minha História

Os Crimes Sexuais No Brasil

Abandono

O Evangelho Da Graça - Dons E Fruto Do Espírito