Uma codificação de caracteres mapeia um para unidades de um determinado tamanho e define as regras de ordenação e serialização de bytes. Muitos conjuntos de caracteres apresentam mais de uma codificação. Os programas de Java, por exemplo, podem representar conjuntos de caracteres japoneses usando a codificação EUC-JP ou a Shift-JIS, entre outras. Cada codificação apresenta regras para representar e serializar um conjunto de caracteres. As duas codificações de caracteres mais populares são:
As séries ISO 8859. Esta série define 13 codificações de caracteres que podem representar textos em inúmeros idiomas. Cada codificação de caracteres ISO 8859 pode ter até 256 caracteres. O ISO 8859-1 (Latim-1) compreende um conjunto de caracteres ASCII, caracteres com diacríticos (acentos, tremas, cedilhas, circunflexos e assim por diante) e símbolos adicionais.
UTF-8 (Formato de transformação Unicode de 8 bits). Consiste em uma codificação de caracteres de tamanho variável que codifica caracteres Unicode de 16 bits como um a quatro bytes. Um byte em UTF-8 equivale a ASCII de 7 bits se o bit de ordem superior for zero. Caso contrário, o caractere compreenderá um número variável de bytes. O UTF-8 é compatível com a maioria do conteúdo existente na Web e oferece acesso ao conjunto de caracteres Unicode. As versões atuais de navegadores e clientes de e-mail dão suporte ao UTF-8. Além disso, a maioria dos novos padrões da Web especifica o UTF-8 como a codificação de caracteres usada. O UTF-8 é, por exemplo, uma das codificações exigidas pelos documentos XML (a outra é o UTF-16).
Para gerar um aplicativo da Web universal, é preciso codificar o seguinte:
Codificação de caracteres de solicitação. Codificação de caracteres na qual são interpretados os parâmetros de uma solicitação entrante. Esta codificação converte os parâmetros em objetos de seqüência. Para obter mais detalhes, clique aqui.
Codificação de caracteres de página. Codificação de caracteres na qual é escrito o arquivo JSP. Se a codificação de caracteres de página não estiver definida corretamente, o processador JSP, o recipiente da Web ou servidor da Web que lê a página não poderá entender os caracteres antes de fazer algo com eles, como traduzir o arquivo JSP em um servlet. A codificação de caracteres de página é usada para a renderização de arquivos JSP somente se a codificação de caracteres de resposta não tiver sido definida separadamente. Para obter mais detalhes, clique aqui.
Codificação de caracteres de resposta. Codificação de caracteres da resposta textual gerada pelo componente da Web. Permite controlar a codificação que a página usará quando for enviada ao navegador. A codificação de páginas da Web deve ser definida adequadamente a fim de que os caracteres sejam renderizados corretamente para um dado local. Para obter mais detalhes, clique aqui.
Todos os navegadores da Web modernos entendem o UTF-8, de modo que consiste em tipo de codificação seguro para a resposta. No IDE, também consistem em uma boa codificação para a página. Por essa razão o UTF-8 é a codificação de caracteres de página e de resposta padrão para arquivos JSP criados no IDE.