Uma codificação de caractere mapeia um para unidades de uma largura específica e define a serialização de bytes e as regras de ordenação. 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:
A série 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 (Unicode Transformation Format, formato de 8 bits). Esta é uma codificação de caractere de tamanho variável que codifica caracteres Unicode de 16 bits em formatos de 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. Versões modernas de navegadores e programas de e-mail dão suporte a UTF-8. Além disso, muitos dos novos padrões Web especificam UTF-8 como codificação de caractere. O UTF-8 é, por exemplo, uma das codificações exigidas pelos documentos XML (a outra é o UTF-16).
Para gerar uma aplicação Web universal, é preciso codificar o seguinte:
Codificação de caractere de solicitação.
A codificação de solicitação é a 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 string. Para obter mais detalhes, clique aqui.
Codificação de caractere de página.
A codificação de caracteres de página é a codificação 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 careceteres de resposta. A codificação de caracteres de resposta é a codificação 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.